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实现。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。