我一直在用Java开发简单的android测验应用程序以进行计数。我创建了包含“ add”,“ minus”,“ multiple”和“ divide”的类“ category”,并且我想将这些类实例中的每一个连接到一个按钮,而这样做有问题。这是我的代码:
public class Category {
public static final int ADD = 1;
public static final int MINUS = 2;
public static final int MULTIPLE = 3;
public static final int DIVIDE = 4;
private int id;
private String name;
public Category() {
}
public Category(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return getName();
}
}
这是我的类别^
public class FirstScreenActivity extends AppCompatActivity implements View.OnClickListener{
public static final String EXTRA_NUMBER = "com.example.application.example.EXTRA_NUMBER";
private Button buttonAdd;
private Button buttonMinus;
private Button buttonMultiple;
private Button buttonDivide;
private Button buttonDivide2;
public int no;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first_screen);
buttonAdd = (Button) findViewById(R.id.buttonAdd);
buttonMinus = (Button) findViewById(R.id.buttonMinus);
buttonMultiple = (Button) findViewById(R.id.buttonMultiple);
buttonDivide = (Button) findViewById(R.id.buttonDivide);
buttonDivide2 = (Button) findViewById(R.id.buttonDivide2);
buttonAdd.setOnClickListener(this);
buttonMinus.setOnClickListener(this);
buttonMultiple.setOnClickListener(this);
buttonDivide.setOnClickListener(this);
buttonDivide2.setOnClickListener(this);
}
public void openActivityChose() {
Intent intent = new Intent(this, ActivityChose.class);
intent.putExtra(EXTRA_NUMBER, no);
startActivity(intent);
}
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.buttonAdd:
no = 1;
openActivityChose();
break;
case R.id.buttonMinus:
no = 2;
openActivityChose();
break;
case R.id.buttonMultiple:
no = 3;
openActivityChose();
break;
case R.id.buttonDivide:
no = 4;
openActivityChose();
break;
case R.id.buttonDivide2:
no = 5;
openActivityChose();
break;
}
}
}
这里的活动^我的问题是,在每种情况下都必须放置什么以将每个类实例绑定到正确的按钮?预先感谢!
您重写的onClick方法是活动onClick而不是按钮。您需要分别为每个按钮设置onClick方法。
可能最好使用findElementById()
Button button = (Button) findViewById(R.id.button_send);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Do something in response to button click
}
});