我在 xml 中设置了 10 个按钮并添加到主 Activity 中。我只显示 2 个。所有按钮只更改一个变量和按钮颜色。有没有一种方法可以将所有按钮分组到一个 onclicklistener 并使用 switch 检查按下了哪个按钮。使用单独的 onclicklistener 似乎是浪费空间。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
f1 =(Button) findViewById(R.id.f1);
f2 =(Button) findViewById(R.id.f2);
f1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clearbutton();
f1.setBackgroundColor(Color.RED);
intbtnSelect=0;
}
});
f2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clearbutton();
f2.setBackgroundColor(Color.RED);
intbtnSelect=1;
}
});
最佳答案
您可以将 OnClickListener
实现到您的 Activity
中。例如
public class MyActivity extends Activity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
f1 =(Button) findViewById(R.id.f1);
f1.setOnClickListener(this);
f2 =(Button) findViewById(R.id.f2);
f2.setOnClickListener(this);
}
}
它们你必须实现 onClick 方法并在 view.getId() 上切换:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.f1:
// your code here
break;
case R.id.f2:
// your code here
break;
}
}
关于android - 按钮数组onclicklistener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17746840/