Button设置监听的三种方式
2017-10-14 17:13
337 查看
Button 是继承自TextView
基本监听步骤:1、写布局
2、在Activity的onCreate中初始化控件
3、定义监听类
4、设置监听
5、填写监听实现方法
点击监听:onClickListener
1、定义监听的实现类 class BtnClickListener implements OnClickListener{ /** * 当监听的视图被点击时触发 , 参数 v 表示被点击的对象 */ @Override public void onClick(View v) { count++; tv.setText(" 点击了 "+count+" 次 "); } } 2 、对视图设置监听器对象 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.m_tv); // 从布局中获取视图对象 Button btn = (Button) findViewById(R.id.m_btn); // 创建监听器 BtnClickListener l = new BtnClickListener(); // 设置按钮的点击监听 btn.setOnClickListener(l); }
监听的第二种设置 – 匿名内部类
一次性的 btn2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Button b = (Button) v; tv.setText(b.getText()); } }); 使用成员变量实现共享监听器 // 按钮的点击监听器 private OnClickListener mClick = new OnClickListener() { @Override public void onClick(View v) { Button b = (Button) v; tv.setText(b.getText()); } }; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ... // 使用匿名内部类 btn2.setOnClickListener(mClick); ... }
监听器的第三种设置方式,可以直接在 Activity (视图处理的类)上直接实现 OnClickListener ,重写 onClick 方法
public class MainActivity extends Activity implements OnClickListener { ... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ... findViewById(R.id.m_btn2).setOnClickListener(this); ... } @Override public void onClick(View v) { Button b = (Button) v; tv.setText(b.getText()); } }
多个视图共享监听器:
可以使用 id 来区分 @Override public void onClick(View v) { // 获取被点击的视图的 id switch (v.getId()) { case R.id.m_btn: tv.setText(" 第一个按钮被点击 "); break; case R.id.m_btn2: tv.setText("ABC 123"); break; } }
长按监听
实现 OnLongClickListener ,重写 onLongClick(View v) 方法@Override public boolean onLongClick(View v) { // 视图被长按之后做的事情 tv.setText(" 按钮被长按了 "); //false 表示不拦截事件,可以向下传递 //true 表示拦截了事件,到此为止 return true; }
相关文章推荐
- 设置Button监听事件的三种方式
- 【Android】Button实现监听的三种方式
- Android基本UI组件、button监听设置方式
- 关于Button设置监听常用的三种方法
- 控件之EditText、Button(监听其的三种方式)
- 监听的三种方式
- Android App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- 关于在xml文件里面为Button设置监听事件报错。
- VMware网络设置的三种方式
- vmware 三种连接方式 如何设置独立ip
- [转]extjs组件添加事件监听的三种方式
- [转]Linux中设置服务自启动的三种方式
- 设置session失效时间的三种方式
- extjs组件添加事件监听的三种方式 http://blog.sina.com.cn/s/blog_48d7f92901011cfn.html
- NGUI研究院之三种方式监听NGUI的事件方法
- Android入门(2)——点击事件的三种方式监听方式
- Linux中设置服务自启动的三种方式
- android:onClick 设置Button监听
- java 软件 设置session超时(失效)的三种方式