Android Button实现功能的三种方法
1. “一次性”使用的Button,一般采用匿名内部类
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i("INFO", "Clicked this button");
}
});
该方法适用于Button使用的次数不多或是“一次性”使用
2. Button有多个或Button的使用次数较多,采用绑定监听器的方法,一般是实现OnClickListener接口,并实现其中的方法
Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button2);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.button1:
Log.i("INFO", "Clicked this button1");
break;
case R.id.button2:
Log.i("INFO", "Clicked this button2");
break;
default:
break;
}
}
onClick方法是OnClickListen接口中的方法,实现接口必须实现该方法。
3. 在Layout文件中为button添加方法,是一种最简单的方法
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="MyButton"
android:onClick="clickHandler"
/>
在代码中实现在Layout中声明的方法
public void clickHandler(View v) {
Log.i("INFO", "Clicked this button");
}
1. “一次性”使用的Button,一般采用匿名内部类
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i("INFO", "Clicked this button");
}
});
该方法适用于Button使用的次数不多或是“一次性”使用
2. Button有多个或Button的使用次数较多,采用绑定监听器的方法,一般是实现OnClickListener接口,并实现其中的方法
Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button2);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.button1:
Log.i("INFO", "Clicked this button1");
break;
case R.id.button2:
Log.i("INFO", "Clicked this button2");
break;
default:
break;
}
}
onClick方法是OnClickListen接口中的方法,实现接口必须实现该方法。
3. 在Layout文件中为button添加方法,是一种最简单的方法
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="MyButton"
android:onClick="clickHandler"
/>
在代码中实现在Layout中声明的方法
public void clickHandler(View v) {
Log.i("INFO", "Clicked this button");
}