Android(安卓)按钮响应点击事件的三种实现方式
16lz
2021-01-25
在 Android 开发中,按钮响应点击事件三种实现方法,下面依次介绍。
1. 匿名内部类
这种方式一般适用于自己写 demo 测试时使用,优点就是快速。
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = findViewById(R.id.button); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 响应事件 Toast.makeText(MainActivity.this,"测试按钮",Toast.LENGTH_SHORT).show(); } }); }
2. 由 Activity 实现 OnClickListener 接口
这种方式是在项目中应用最多的写法。因为这种写法可以减少代码量,尤其是在 Activity 上有多个点击事件的时候,更加按钮的id来区分按钮响应;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = findViewById(R.id.button); btn.setOnClickListener(this); } @Override public void onClick(View v) { //根据按钮 id 来区分是哪个按钮的点击事件; switch (v.getId()){ case R.id.button: // 响应事件 Toast.makeText(MainActivity.this,"测试按钮2",Toast.LENGTH_SHORT).show(); break; // case 其他按钮 default: break; } }
3. 在布局文件中添加 onClick 属性
这种方式不用在 Activity 中声明组件对象就可以响应点击事件,虽然在看起来很轻便,但是在维护测试的时候,不容易找到 button 相对应的点击事件,所以不太推荐使用。
首先在 XML 布局文件中添加 onClick 属性,android:onClick=“buttonClick”
在 Activity 中实现
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void buttonClick(View v){ // 响应事件 Toast.makeText(MainActivity.this,"测试按钮3",Toast.LENGTH_SHORT).show(); }
4. 运行效果
更多相关文章
- Android(安卓)Monkey
- Android(安卓)使用WebView点击左上角返回键和物理返回键回到上一
- Android(安卓)Studio中设置ButterKnife、android butterknife ze
- (原创)在Android(安卓)上运行 openCV ,并做灰度变化的一个例子
- Android输入输出机制之来龙去脉
- Android应用之基本的组件(一)
- android实现分享
- ubuntu 10.04 CTS 环境搭建
- Android(安卓)Https请求详细demo