Reputation: 1
I'm creating a basic app in Android Studio:
There are 3 categories with a radio group for each category.
The user selects one button from each category then hits "Choose".
A Textview should show a message, e.g. "You chose Chinese, Level 1, Guess the City".
I've worked out how to say "You chose Chinese" but can't figure out how to add the rest using if
conditions. Any ideas?
<TextView android:id="@+id/text" />
<RadioGroup android:id="@+id/radio1">
<RadioButton id="@+id/chinese"
android:text="@string/chinese" />
<RadioButton android:id="@+id/indian"
android:text="@string/indian" />
<RadioButton android:id="@+id/russian"
android:text="@string/russian" />
</RadioGroup>
<RadioGroup android:id="@+id/radio2">
<RadioButton android:id="@+id/difficulty1"
android:text="@string/starter" />
<RadioButton android:id="@+id/difficulty2"
android:text="@string/medium" />
<RadioButton android:id="@+id/difficulty3"
android:text="@string/expert" />
</RadioGroup>
<RadioGroup android:id="@+id/radio3">
<RadioButton android:id="@+id/challenge1"
android:text="@string/buildingbricks" />
<RadioButton android:id="@+id/challenge2"
android:text="@string/callcentre" />
<RadioButton android:id="@+id/challenge3"
android:text="@string/city" />
</RadioGroup>
public class MainActivity extends Activity {
private RadioGroup radioGroup1
private RadioButton chinese, indian, russian;
private Button button;
private TextView textView;
public String string_first_radiogroup,
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radioGroup1 = (RadioGroup) findViewById(R.id.radio1);
radioGroup1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if(checkedId == R.id.chinese) {
string_first_radiogroup="Chinese";
} else if(checkedId == R.id.indian) {
string_first_radiogroup="Indian";
} else {
string_first_radiogroup="Russian";
}
}
});
chinese = (RadioButton) findViewById(R.id.chinese);
indian = (RadioButton) findViewById(R.id.indian);
russian = (RadioButton) findViewById(R.id.russian);
textView = (TextView) findViewById(R.id.text);
button = (Button)findViewById(R.id.choose);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textView.setText("You chose " + string_first_radiogroup + " option");
}
});
}
}
Upvotes: 0
Views: 54
Reputation: 2999
Try below code:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
textView.setText("You chose " + ((RadioButton)findViewById(radioGroup1.getCheckedRadioButtonId())).getText() + " option");
}
});
Upvotes: 1