这是一个棘手的问题。
我有两个复选框,我想根据是否单击复选框将一些文本附加到字符串。 例如。如果单击checkbox1,则将“A”添加到字符串“result” 如果单击checkbox2,则会将“B”添加到字符串“result”
我尝试了几种不同的方法,显然最接近的方法是onClick。
final CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkBox);
checkBox1.setChecked(false);
checkBox1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (checkBox1.isChecked()) {
builder.append(value1).append("\n");
Toast.makeText(MainActivity.this, "item selected", Toast.LENGTH_LONG).show();
}
else {
builder.append("");
}
}
});
final CheckBox checkBox2 = (CheckBox) findViewById(R.id.checkBox2);
checkBox2.setChecked(false);
checkBox2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (checkBox2.isChecked()) {
builder.append(value2).append("\n");
Toast.makeText(MainActivity.this, "item selected", Toast.LENGTH_LONG).show();
} else {
builder.append("");
}
}
});
我也尝试了onChangedState或类似的东西,但它不能用于我的目的。
按照正常行为,如果我点击一次,我会追加“A”,如果点击两次,我会追加“”。 然而,如果我点击三次,我会追加“A”“A”,而不仅仅是“A”。
关于如何解决这种麻烦的任何想法?可能是一些真/假的陈述?
答案 0 :(得分:0)
你可以这样做
CheckBox Check = (CheckBox) rootView.findViewById(R.id.Finalizado);
boolean isChecked = Check.isChecked();
if(isChecked)
{
//doStuff...
}
else
{
//doAnotherStuff...
}