Android Button点击事件的四种实现方法
Android中Button四种点击事件实现方式,具体内容如下
1.Xml添加监听属性,这里添加的doClick。
<Button android:id="@+id/bt1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="doClick" android:text="XML添加doClick" android:layout_above="@+id/bt2" android:layout_marginBottom="47dp" />
public void doClick(View view) { switch (view.getId()) { case R.id.bt1: Toast.makeText(MainActivity.this, "第一种点击事件:Xml添加doClick", Toast.LENGTH_SHORT).show(); break; } }
在Activity中添加doClick实现方法。Activity中实现的方法要和XML添加的属性名相同,不建议实际开发中使用。
2.匿名内部类方式实现。
Button bt2 = (Button) findViewById(R.id.bt2); bt2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "第二种点击事件:匿名内部类", Toast.LENGTH_SHORT).show(); } });
3.自定义点击事件实现。
Button bt3 = (Button) findViewById(R.id.bt3); bt3.setOnClickListener(new MyListener()); class MyListener implements View.OnClickListener { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "第三种方法:自定义点击事件", Toast.LENGTH_SHORT).show(); } }
4.Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法。
public class MainActivity extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button bt4=(Button)findViewById(R.id.bt4); bt4.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.bt4: Toast.makeText(MainActivity.this, "第四种点击事件:Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法", Toast.LENGTH_SHORT).show(); } } }
备注:Button数量不多的情况下推荐使用第二种,匿名内部类的方式实现;反之则推荐使用第四种,Activity继承View.OnClickListener实现。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
解析如何在android中增加gsensor驱动(MMA7660)
本篇文章是对在android中增加gsensor驱动(MMA7660)进行了详细的分析介绍,需要的朋友参考下2013-06-06Android中分析Jetpack Compose动画内部的实现原理
这篇文章主要介绍了Android中分析Jetpack Compose动画内部的实现原理,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下2022-09-09Android Studio Gradle插件版本与Gradle版本之间的对应关系
今天小编就为大家分享一篇关于Android Studio Gradle插件版本与Gradle版本之间的对应关系,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2018-12-12
最新评论