Android 变量OnClick侦听器
有没有一种方法可以让多个按钮都有一个onClick列表器,我可以根据单击的按钮抛出一个case语句来执行操作Android 变量OnClick侦听器,android,onclick,Android,Onclick,有没有一种方法可以让多个按钮都有一个onClick列表器,我可以根据单击的按钮抛出一个case语句来执行操作 我知道我可以为100个按钮创建100个不同的监听器,但我必须认为我可以创建一些漂亮的变量,用更少的代码行来实现这一点。如果您使用的是SDK的1.6+版本,则可以使用它来设置视图的onClick处理程序。在活动中,您必须有一个具有以下签名的方法。视图是已单击的视图 Button btn1, btn2; public void onCreate(Bundle b) { // here
我知道我可以为100个按钮创建100个不同的监听器,但我必须认为我可以创建一些漂亮的变量,用更少的代码行来实现这一点。如果您使用的是SDK的1.6+版本,则可以使用它来设置视图的onClick处理程序。在活动中,您必须有一个具有以下签名的方法。视图是已单击的视图
Button btn1, btn2;
public void onCreate(Bundle b)
{
// here you do normal things like assigning a
// content view to the activity, initiate buttons, etc.
// then you assign the same listener to both buttons
btn1.setOnClickListener(yourListener);
btn2.setOnClickListener(yourListener);
}
// declare a OnClickListener that will execute different actions
// depending on the view that was clicked
View.OnClickListener yourListener = new View.OnClickListener(){
public void onClick (View v){
if( v == btn1 ){
// do something
}
elseif( v == btn1 ){
// do another thing
}
}
};
void onClick(View v) {
switch(v.getId()) {
case R.id.button1:
//do something fantastic;
break;
}
}
或者,您可以指定要在xml中调用的方法:
<Button android:id="@id/button" android:text="@string/button" android:onClick="someMethod" />
<Button android:id="@id/button" android:text="@string/button" android:onClick="someMethod" />