所以我试着把一个简单的小费计算器作为我的第一个应用程序。我看过多个教程,但出于某种原因,我无法让按钮工作。滑块工作正常,所以我不确定是什么问题。
根据我的理解,这是我设置每个按钮扔数组的地方。
int idList[] = {R.id.button1,R.id.button2,R.id.button3,
R.id.button4,R.id.button5,R.id.button6,
R.id.button7,R.id.button8,R.id.button9,
};
for (int id:idList){
View v = (View) findViewById(id);
v.setOnClickListener(btnClick);
}
这是我使用它们的地方
private class ButtonclickListener implements View.OnClickListener{
public void onClick (View v) {
switch (v.getId()){
case R.id.buttonC: //clear
Scr.setText("0");
NumberBf = 0;
break;
case R.id.button_tip:
CalcTip();
break;
default:
String numb = ((Button) v).getText().toString();
getKeyboard(numb);
break;
}
}
}
答案 0 :(得分:1)
在列表中,您使用的是R.id.button1
但在您的交换机案例中,您使用的是不同的ID(R.id.buttonC)?
应该是
int idList[] = {R.id.button1,R.id.button2,R.id.button3,
R.id.button4,R.id.button5,R.id.button6,
R.id.button7,R.id.button8,R.id.button9,
};
for (int id:idList){
View v = (View) findViewById(id);
v.setOnClickListener(btnClick);
}
case R.id.button1: break; case R.id.button2: break;
简而言之,当你做侦听器和findviewbyID时它应该匹配