android按键的三种响应方式
来源:互联网 发布:软件shop floor editor 编辑:程序博客网 时间:2024/04/29 14:38
主要通过三个按键来演示,每个按键用一种实现方法,效果通过Toast观察。
第一种:在布局文件(XML)直接在button控件下添加属性onclick,属性的内容即为按键的响应方法。(方法权限必需为public)
<Button android:id="@+id/btn_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="btn_1" android:onClick="btn_Onclick"/>
public void btn_Onclick(View view){ Toast.makeText(getBaseContext(), "btn_1 have been clicked!", Toast.LENGTH_SHORT).show(); }
第二种:在activity内绑定按键,设置监听器并实现。
btn_2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubToast.makeText(getBaseContext(), "btn_2 have been clicked", Toast.LENGTH_SHORT).show();}});
第三种:在activity实现onclicklistener接口,并在onclick方法实现。
public class MainActivity extends Activity implements OnClickListener
public void onClick(View view) { // TODO Auto-generated method stub// 当只有一个Button的时候可以这样写// Toast.makeText(getBaseContext(), "btn_3 have benn clicked", Toast.LENGTH_SHORT).show(); // 当存在多个Button的时候 switch (view.getId()) {case R.id.btn_3://控件的ID号Toast.makeText(getBaseContext(), "btn_3 have benn clicked", Toast.LENGTH_SHORT).show();break;default:break;} }
布局代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.androidbuttondemo.MainActivity" android:orientation="vertical"> <Button android:id="@+id/btn_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="btn_1" android:onClick="btn_Onclick"/> <Button android:id="@+id/btn_2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="btn_2"/> <Button android:id="@+id/btn_3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="btn_3"/> </LinearLayout>
package com.example.androidbuttondemo;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener{private Button btn_1,btn_2,btn_3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_1 = (Button)findViewById(R.id.btn_1); btn_2 = (Button)findViewById(R.id.btn_2); btn_3 = (Button)findViewById(R.id.btn_3);// 第二种:内部定义监听器并实现 btn_2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubToast.makeText(getBaseContext(), "btn_2 have been clicked", Toast.LENGTH_SHORT).show();}}); // 第三种:实现onclicklistener接口 btn_3.setOnClickListener(this); }// 第一种:通过XML控件的属性定义按键的点击 onclick public void btn_Onclick(View view){ Toast.makeText(getBaseContext(), "btn_1 have been clicked!", Toast.LENGTH_SHORT).show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onClick(View view) { // TODO Auto-generated method stub// 当只有一个Button的时候可以这样写// Toast.makeText(getBaseContext(), "btn_3 have benn clicked", Toast.LENGTH_SHORT).show(); // 当存在多个Button的时候 switch (view.getId()) {case R.id.btn_3://控件的ID号Toast.makeText(getBaseContext(), "btn_3 have benn clicked", Toast.LENGTH_SHORT).show();break;default:break;} } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}
效果:
0 0
- android按键的三种响应方式
- android响应事件的三种方式
- Android App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android 监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android 监听系统软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- Android 中的Handler
- ASP.Net日志记录组件XCLNetLogger发布啦
- [Android]PHP的Sha1轉成Java的Sha1
- (三)懒加载以及一些设计规范
- 在使用delegate时,使用event 与不使用的区别
- android按键的三种响应方式
- Myeclipse10下搭建SSH框架(图解)Struts2.1+Spring3.0+Hibernate3.3
- uva 514 Rails
- printf与scanf的返回值、注意点
- lua学习笔记15:table数组逆序
- mybatis动态sql查询Dynamic SQL之if,foreach,choose,trim,where,set
- 《GNU make项目管理》笔记--变量与宏(1)
- MFC 字体
- uva3027 ADT