这篇文章主要介绍了Android按钮单击事件的两种常用写法总结,有不错的参考借鉴价值,需要的朋友可以参考下
以下是我定义的一个按钮
<Button android:id="@+id/but" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="Button" />
一:用匿名内部类的方法实现
MainActivity.java:
public class MainActivity extends Activity { private Button but;//定义变量保存按钮控件 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); but = (Button) findViewById(R.id.but);//通过id获取按钮控件 but.setText("请点击");//修改按钮上的内容 but.setOnClickListener(new OnClickListener() {//为按钮绑定单击事件监听器 //匿名内部类 public void onClick(View v) { //makeText方法的三个参数(上下文对象,显示的内容,显示的时长).显示 Toast.makeText(MainActivity.this,"你好",Toast.LENGTH_LONG).show(); } }); }
二:定义实现OnClickListener接口的类
ButOnClickListener.java:
public class ButOnClickListener implements OnClickListener{ //实现OnClickListener接口 private Context context;//定义context变量保存上下文对象 //定一个构造函数,用作传递上下文对象 public ButOnClickListener(Context context){ this.context = context; } //实现OnClickListener接口未实现的方法 public void onClick(View v) { Toast.makeText(context,"你好",Toast.LENGTH_LONG).show(); } }
MainActivity.java:
public class MainActivity extends Activity { private Button but;//定义变量保存按钮控件 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); but = (Button) findViewById(R.id.but);//通过id获取按钮控件 but.setText("请点击");//修改按钮上的内容 but.setOnClickListener(new ButOnClickListener(this));//将当前的Activity传递过去 }
以上两个例子的运行效果
希望本文所述对大家Android程序开发有所帮助。