Java 如何在一个侦听器上设置4个按钮?
这是一个简单的方法,但我不知道代码,所以我的意思是这样的Java 如何在一个侦听器上设置4个按钮?,java,android,button,onclicklistener,Java,Android,Button,Onclicklistener,这是一个简单的方法,但我不知道代码,所以我的意思是这样的 button1 = (Button)findViewById(R.id.b1); button2 = (Button)findViewById(R.id.b2); button3 = (Button)findViewById(R.id.b3); button4 = (Button)findViewById(R.id.b4); //button1-button4.setOnClickList
button1 = (Button)findViewById(R.id.b1);
button2 = (Button)findViewById(R.id.b2);
button3 = (Button)findViewById(R.id.b3);
button4 = (Button)findViewById(R.id.b4);
//button1-button4.setOnClickListener(new View.OnClickListener() {
public void onClick(View Button1-4){
{
//Do same method for button1-4
}
}
});
button5 = (Button)findViewById(R.id.b5);
button6 = (Button)findViewById(R.id.b6);
button7 = (Button)findViewById(R.id.b7);
button8 = (Button)findViewById(R.id.b8);
//button5-button8.setOnClickListener(new View.OnClickListener() {
public void onClick(View Button5-8){
{
//Do same method for button5-8
}
}
});
button9 = (Button)findViewById(R.id.b9);
button10 = (Button)findViewById(R.id.b10);
button11 = (Button)findViewById(R.id.b11);
button12 = (Button)findViewById(R.id.b12);
//button5-button8.setOnClickListener(new View.OnClickListener() {
public void onClick(View Button9-12){
{
//Do same method for button9-12
}
}
});
所以我在我的项目上有12个按钮,我把它们分为3组(布局),每组有4个按钮,我的意思是每组中的4个按钮做相同的事情
有人能帮我提供一些示例代码吗?谢谢这是一个模板。希望这有帮助
public class MyActivity extends Activity implements View.OnClickListener {
Button button1, button2, button3;
@Override
public void onCreate(Bundle bundle) {
super.onCreate();
...
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.button1:
// do stuff; You can called your method from here also.
break;
case R.id.button2:
// do stuff;
break;
...
}
}
您还可以使用android:onclick属性在布局xml中设置它
android:onClick="onClick"
然后在活动类中添加onClick方法
public void onClick(View v) {
//Write your code here
if(v.getId==R.id.button1 || v.getId==R.id.button2 || v.getId==R.id.button3 ||v.getId==R.id.button4){
// Do stuff
}
}
试试这个我希望你的问题能解决
public class MyActivity extends Activity implements View.OnClickListener {
Button button1, button2, button3,button4;
@Override
public void onCreate(Bundle bundle) {
super.onCreate();
...
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
button4 = (Button) findViewById(R.id.button4);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(v.getId==R.id.button1 || v.getId==R.id.button2 || v.getId==R.id.button3 ||v.getId==R.id.button4){
// Do somthin what you want
}
}
}
这本身就应该做到这一点你想让不同的按钮做相同的事情吗?@nomad是的,布局中的4个按钮做相同的事情,其中有一个错误,说“getId无法解析或不是字段”,你从哪里得到这个错误?v、 getId显示此异常?在此行中,如果(v.getId==R.id.button1 | | v.getId==R.id.button2 | | v.getId==R.id.button3 | | v.getId==R.id.button4)等使用方法v.getId按钮5-12,则应使用layout.xml文件中使用的确切按钮名称。其中有一些错误,称“getId无法解析或不是字段”检查onClick(视图v)我的v是这个v,,v是视图的对象。检查您的click Objects getId()。没有括号是没有用的
public class MyActivity extends Activity implements View.OnClickListener {
Button button1, button2, button3,button4;
@Override
public void onCreate(Bundle bundle) {
super.onCreate();
...
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
button4 = (Button) findViewById(R.id.button4);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(v.getId==R.id.button1 || v.getId==R.id.button2 || v.getId==R.id.button3 ||v.getId==R.id.button4){
// Do somthin what you want
}
}
}
public class MyActivity extends Activity implements View.OnClickListener {
Button button1, button2, button3;
@Override
public void onCreate(Bundle bundle) {
super.onCreate();
...
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
}
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.button1:
// do stuff; You can called your method from here also.
break;
case R.id.button2:
// do stuff;
break;
...
}
}