Android:实现Button点击事件的四种方式
16lz
2021-01-26
最近开始学习Android的开发,首先学习了一下在Android开发中的按钮点击事件的实现,在网上找到四种实现方式在此做一个记录,方便日后温习查看。
方式一、匿名内部类:
new 一个
OnClickListener
接口作为Button
的setOnClickListener
方法的参数
public class MainActivity extends AppCompatActivity { Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button)findViewById(R.id.btn1); // 给Button添加点击事件的第一种方式:匿名内部类 btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MainActivity.this,Example1.class); startActivity(intent); } }); }
方式二、内部类:
在
Button
所在的class
内部再建一个类ClickListener
并实现OnClickListener
接口。
直接new一个ClickListener
的实例作为Button
的setOnClickListener
方法的参数
public class MainActivity extends AppCompatActivity { Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button)findViewById(R.id.btn1); // 给Button添加点击事件的第二种方式:内部类 btn1.setOnClickListener(new ClickListener()); } class ClickListener implements View.OnClickListener { @Override public void onClick(View view) { Log.i("Info","btn1 goto next page"); Intent intent = new Intent(MainActivity.this,Example3.class); startActivity(intent); } }}
方式三、实现OnClickListener
接口
Button
所在的class
本身实现OnClickListener
接口,并且作为Button
的setOnClickListener
方法的参数
public class MainActivity extends AppCompatActivity implements View.OnClickListener{ Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button)findViewById(R.id.btn1); btn1.setOnClickListener(this); } // 给Button添加点击事件的第三种方式:实现OnClickListener接口 @Override public void onClick(View view) { Log.i("Info","btn1 goto next page"); Intent intent = new Intent(MainActivity.this,Example3.class); startActivity(intent); }}
方式四、直接在布局文件中指定点击事件
以上三种方式归根结底都是实现
OnClickListener
来监听Button
的点击事件,而下面的方式是直接在布局文件中直接指定响应Button
的点击事件的方法
xml
java
public class MainActivity extends AppCompatActivity { Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } // 给Button添加点击事件的第四种方式:直接在布局文件中指定点击事件 public void btn4Click(View view){ Log.d("DEBUG","btn1 go to next page"); Intent intent = new Intent(MainActivity.this,Example4.class); startActivity(intent); }}
更多相关文章
- Android中防止Toast一直点击一直弹出
- 多种方式实现Android页面布局的切换
- android 按钮点击更改背景色或背景图
- android之AlertDialog 点击其他区域自动消失
- [置顶] Android(安卓) ExpandableListView
- Android(安卓)PopupWindow GridView onItemClick无效
- android事件4-onTouchEvent, onClick及onLongClick的调用机制
- 做WebView的时候遇到的错误
- Android(安卓)Studio真机调试无法找到设备