Как заставить радиокнопки отображать текст в другом действии при нажатии в студии android? - PullRequest
0 голосов
/ 04 августа 2020

У меня есть 6 вариантов, из которых пользователь может выбрать, и кнопка, которая переводит их на следующую страницу при нажатии. У меня две такие страницы. После выбора одного варианта на каждой странице я хотел бы отображать определенный текст в зависимости от ранее нажатых переключателей в другом действии. Как это сделать в java в android студии?

Ответы [ 2 ]

0 голосов
/ 04 августа 2020

Поскольку вы используете activity, вы можете использовать Intent для передачи данных. Вот пример:

Intent page = new Intent(FirstActivity.this, SecondActivity.class);
page.putExtra("key", "This is my text");
startActivity(page);

Для получения значения в методе Second Activity onCreate ():

String value = getIntent().getStringExtra("key");
0 голосов
/ 04 августа 2020

Если вы управляете FragmentManager, вы можете просто передать параметры в качестве аргумента конструктору следующего Fragment, в противном случае вы можете сохранить все в переменной stati c (до тех пор, пока в там, поэтому не храните там переключатели) и обращайтесь к этой переменной извне.

Вот так:

public class MyFragment {
    public static boolean isRadioButtonXPressed = false; //change to true if it's pressed by default

    public void onCreate(...) {
        radioButtonX.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                isRadioButtonXPressed = checked;
            }
        });
    }
}

//from the other fragment
public class MyFragment2 {
    public void onCreateView(...) {
        if (MyFragment.isRadioButtonXPressed) {
            //it's been pressed
        } else {
            //it's not been pressed
        }
    }
}

Есть много разных способов.

...