Получить выбранный RadioButton из пользовательского AlertDialog, вызываемого из фрагмента - PullRequest
0 голосов
/ 11 апреля 2020

Из класса Fragment я создаю пользовательский AlertDialog, содержащий 2 радиогруппы. Мое приложение запускается и работает нормально, но всегда обновляет мои фрагменты TextViews (tvSelectedA & B) с выбранными по умолчанию RadioButton в каждой RadioGroup - кажется, игнорирует любые сделанные мной выборы. Этот метод вызывается кнопкой onClickListener на фрагменте:

    private void showAlertDialog(View view) {
        final View dialogView = getLayoutInflater().inflate(R.layout.layout_dialog, null);
        final RadioGroup radioGroupA = dialogView.findViewById(R.id.rgA);
        final RadioGroup radioGroupB = dialogView.findViewById(R.id.rgB);

        AlertDialog.Builder alertBuilder = new AlertDialog.Builder(view.getContext());
        alertBuilder.setView(R.layout.layout_dialog)
                .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                })
                .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        // get selected radio button from radioGroup
                        int selectedA = radioGroupA.getCheckedRadioButtonId();
                        int selectedB = radioGroupB.getCheckedRadioButtonId();
                        // find the radiobutton by returned id
                        radioButtonA = dialogView.findViewById(selectedA);
                        radioButtonB = dialogView.findViewById(selectedB);
                        tvSelectedA.setText(String.format("Selected A: %s", radioButtonA.getTag().toString()));
                        tvSelectedB.setText(String.format("Selected B: %s", radioButtonB.getTag().toString()));
                    }
                });
        alertBuilder.show();
    }

Есть идеи, что мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...