以注册一个Button的click事件为例
方法①:通过内部类(匿名类)的方法
public class MainActivity extends Activity {
Button btn_01; //声明Button
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_01 = (Button) findViewById(R.id.btn_01); //获取Button
btn_01.setOnClickListener(new View.OnClickListener() { //内部类
@Override
public void onClick(View v) {
//响应
Toast.makeText(MainActivity,"ok",Toast.LENGTH_LONG).show();
}
});
}
}
方法②:通过继承View.OnClickListener,重写onClick(View v)的方法
public class MainActivity extends Activity implements View.OnClickListener {
Button btn_01; //声明Button
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_01 = (Button) findViewById(R.id.btn_01); //获取Button
btn_01.setOnClickListener(this); //设置OnClick事件
}
//重写onClick方法
@Override
public void onClick(View v) {
Toast.makeText(this,"ok", Toast.LENGTH_LONG).show();
}
}
方法③:通过<Button/>的onClick属性,然后编写相应的方法即可
activity_main.xml文件里
<Button
android:onClick="btnOnClick" //btnOnClick为方法名
android:id="@+id/btn_01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
在MainActivity.java文件中编写相应的方法
public void btnOnClick(View v){
Toast.makeText(this,"ok",Toast.LENGTH_LONG).show();
}