我想确定按下哪个按钮并执行某些操作,
但找不到R.id.myBtn's id
。
我怎么办?
活动代码
private int id
public void myCode(View view) {
id = view.getId();
switch (id) {
case R.id.myBtn1:
testTest();
break;
case R.id.myBtn2:
testTest();
break;
}
}
private void testTest() {
if(id == R.id.myBtn1){ <== it's not equals
//something
}else if(id == R.id.myBtn2){ <== it's not equals
//something
}
//something same for two button
}
答案 0 :(得分:4)
你应该这样做
在您的活动中实施foreach ($attractieIDs as $id) {
foreach ($slots[$id] as $s) {
$myOrders[] = $s;
}
}
View.OnClickListener
将按钮的回调注册到public class Activity implements View.OnClickListener { }
OnClickListener
在您的Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button1);
Button button3 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
方法中应该看起来像这样
OnClick
答案 1 :(得分:0)
您正在使用相同的参数执行相同的方法(在您的情况下没有):
private int id
public void myCode(View view) {
id = view.getId();
switch (id) {
case R.id.myBtn1:
testTest();//<---- executes testTest()
break;
case R.id.myBtn2:
testTest();//<---- executes testTest()
break;
}
}
private void testTest() {
if(id == R.id.myBtn1){ <== it's not equals
//something
}else if(id == R.id.myBtn2){ <== it's not equals
//something
}
//something same for two button
}
删除testTest()
方法并执行switch
内的按钮逻辑,或将id作为参数传递给testTest(int vid)
,与其他评论一样。
public void myCode(View view) {
testTest(view.getId());
}
private void testTest(int viewId) {
switch (viewId) {
case R.id.myBtn1:
//Action for R.id.myBtn1
break;
case R.id.myBtn2:
//Action for R.id.myBtn2
break;
}
}