简易的按钮事件(Button的4中事件处理)
2016-02-28 00:31
591 查看
简易的按钮事件(Button的4中事件处理)
新建一个继承Activity类的ButtonClickActivity,并设置布局文件为:buttonclick.xml。在布局文件中定义4个Button组件
<Button android:id="@+id/buttonclick_btn1" style="@android:style/Widget.Button.Inset" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="onClick" android:text="@string/buttonclick_btn1" /> <Button android:id="@+id/buttonclick_btn2" style="@android:style/Widget.Button.Inset" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/buttonclick_btn2" /> <Button android:id="@+id/buttonclick_btn3" style="@android:style/Widget.Button.Inset" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/buttonclick_btn3" /> <Button android:id="@+id/buttonclick_btn4" style="@android:style/Widget.Button.Inset" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/buttonclick_btn4" /> |
public void onClick(View view) { switch (view.getId()) { case R.id.buttonclick_btn1: Button btn1 = (Button) view; Toast.makeText(ButtonClickActivity.this, btn1.getText(), Toast.LENGTH_SHORT).show(); break; } } |
在处理Button2的时候,先通过布局文件来实例化Button2,而后为Button2注册监听事件setOnClickListener()。里面传入一个OnClickListener对象即可。
findViewById(R.id.buttonclick_btn2).setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { Button btn1 = (Button) view; Toast.makeText(ButtonClickActivity.this, btn1.getText(), Toast.LENGTH_SHORT).show(); } }); |
而Button3,先让Acitivity类实现OnClickListener这个接口,后覆写onClick()方法。
package lyx.feng.simpletextdemo; ...... public class ButtonClickActivity extends Activity implements OnClickListener { ..... public void onClick(View view) { switch (view.getId()) { case R.id.buttonclick_btn3: Button btn3 = (Button) view 4000 ; Toast.makeText(ButtonClickActivity.this, btn3.getText(), Toast.LENGTH_SHORT).show(); break; } } } |
而Button4的处理方式,是在Button2的基础上单独定义一个内部类来实现
package lyx.feng.simpletextdemo; ..... public class ButtonClickActivity extends Activity implements OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.buttonclick); findViewById(R.id.buttonclick_btn4).setOnClickListener(new MyButtonClickListener()); } private class MyButtonClickListener implements OnClickListener{ @Override public void onClick(View view) { Button btn4 = (Button) view; Toast.makeText(ButtonClickActivity.this, btn4.getText(), Toast.LENGTH_SHORT).show(); } } } |
也是和Button3一样要为Button4注册单机事件
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析