У меня есть текстовое представление, 2 флажка, 2 RadioButtons. Какой элемент, который я выбираю или отменяю, должен обновляться в текстовом виде - как мне это достичь? Я знаю, что мы можем сделать это, используя if else, но что, если проблема становится сложной? Например, что делать, если у меня есть 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
Не проблема! рад, что это помогло! –