我有一個textview,2個複選框,2個RadioButtons。我選擇或取消選擇什麼項目應該在textview上更新 - 我該如何實現?我知道我們可以用其他方法來解決問題,但如果問題變得複雜,該怎麼辦?例如,如果我有10個複選框和10個單選按鈕 - 我是否必須爲所有視圖編寫條件?如何根據我的選擇更新我的Texview
這裏是我的代碼看起來
public class MainActivity extends Activity {
TextView textview;
CheckBox checkbox1;
CheckBox checkbox2;
RadioGroup group1;
RadioButton radio1;
RadioButton radio2;
static String displayText="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview = (TextView) findViewById(R.id.textView);
checkbox1 = (CheckBox) findViewById(R.id.checkBox);
checkbox2 = (CheckBox) findViewById(R.id.checkBox2);
radio1 = (RadioButton) findViewById(R.id.radioButton);
radio2 = (RadioButton) findViewById(R.id.radioButton2);
group1 = (RadioGroup) findViewById(R.id.radio_group_1);
checkbox1.setOnClickListener(new checkBoxClicked());
checkbox2.setOnClickListener(new checkBoxClicked());
radio1.setOnClickListener(new checkBoxClicked());
radio2.setOnClickListener(new checkBoxClicked());
textview.setText(displayText);
class checkBoxClicked implements View.OnClickListener
{
@Override
public void onClick(View v) {
if(radio1.isChecked())
{
displayText="radio1";
}
if(radio2.isChecked())
{
displayText="radio2";
}
if(checkbox1.isChecked())
{
displayText= "checkbox1";
}
if(checkbox2.isChecked())
{
displayText="checkbox2";
}
if(checkbox1.isChecked()&&checkbox2.isChecked())
{
displayText="checkbox1" + "checkbox2";
}
if(checkbox1.isChecked()&&radio1.isChecked())
{
displayText="checkbox1"+"radio1";
}
if(checkbox1.isChecked()&&radio2.isChecked())
{
displayText="checkbox1"+"radio2";
}
if(checkbox2.isChecked()&&radio1.isChecked())
{
displayText="checkbox2"+"radio1";
}
if(checkbox2.isChecked()&&radio2.isChecked())
{
displayText="checkbox2"+"radio2";
}
if(radio1.isChecked()&&checkbox1.isChecked()&&checkbox2.isChecked())
{
displayText="radio1"+"checkbox1"+"checkbox2";
}
if(radio2.isChecked()&&checkbox1.isChecked()&&checkbox2.isChecked())
{
displayText="radio2"+"checkbox1"+"checkbox2";
}
if(!checkbox1.isChecked()&&!checkbox2.isChecked()&&!radio1.isChecked()&&!radio2.isChecked())
{
displayText="";
}
textview.setText(displayText);
}}}
發誓!減少我所有的努力!謝謝 – Govarthanan
不是問題!很高興它有幫助! –