#android
#Android
Вопрос:
Мне нужно передать значение, выбранное в RadioGroup
одном Activity
, в ряд из 5 CheckBoxs
в другом. Я недостаточно знаю о глобальных переменных, чтобы иметь возможность просто сделать это сам
Итак, у меня есть 5 RadioButtons
RadioGroup
в моем XML
, вот так:
<RadioButton
android:id="@ id/rdoInternet1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Dedicated and Resilient"
android:layout_weight="1"/>
А затем в моей Java я собирался перейти к серии вложенных операторов if
//find the id of the RadioGroup and store it in a variable
RadioGroup question1RadioGroup = (RadioGroup) findViewById(R.id.radioInternet);
question1RadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
//set a listener on the RadioGroup
@Override
public void onCheckedChanged(RadioGroup view, @IdRes int checkedId) {
//checkedId refers to the selected RadioButton
//Perform an action based on the option chosen
if (checkedId == R.id.rdoInternet1) {
/*Nested if statement setting value 1 */
} else {
if (checkedId == R.id.rdoInternet2) {
/*Nested if statement setting value 1 */
} else {
if (checkedId == R.id.rdoInternet3) {
/*Nested if statement setting value 1 */
} else {
if (checkedId == R.id.rdoInternet4) {
/*Nested if statement setting value 1 */
} else {
if (checkedId == R.id.rdoInternet5) {
/*Nested if statement setting value 1 */
Но тогда я не знаю, как сохранить его как глобальную переменную, а затем напомнил бы об этом на следующем экране, снова используя вложенные ifs, чтобы указать, что checkbox
проверять.
Итак, что мне нужно знать, есть ли лучший способ сделать это и как сохранить глобальное значение
Ответ №1:
все, что вам нужно сделать, это добавить логические переменные в качестве дополнительных намерений :
Intent intent = new Intent(this, NextActivity.class);
intent.putExtra("yourBoolName", true);
а затем получить их в следующем действии :
Boolean yourBool = getIntent().getExtras().getBoolean("yourBoolName");