Как установить расширитель оповещений Android с несколькими представлениями

#android #android-alertdialog

#Android #android-alertdialog

Вопрос:

У меня есть AlertDialog с setView, и я хочу изменить setView при нажатии кнопки set в кнопке next

 public void dd(View view){
    LayoutInflater inflater= (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
    view = inflater.inflate(R.layout.layout_1,null);

           final AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
            builder.setTitle("HI");
            builder.setIcon(android.R.drawable.ic_dialog_alert);
            builder.setView(R.layout.layout_1);
            Button next = (Button)view.findViewById(R.id.button3);
            next.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    builder.setView(R.layout.layout_2);

                                      }
            });
            AlertDialog dialog = builder.create();
            dialog.show();
}
  

Комментарии:

1. Что это за язык?

2. @naXa: я считаю plz , что представляет собой сильно измененную версию английского языка, известную как «txtspk». Это стоит изучить, даже если люди, скорее всего, проголосуют против, полагая, что ввод «пожалуйста» требует значительных усилий :-) .

Ответ №1:

Вы не можете изменить макет в builder. В конструкторе вы можете установить только начальный макет диалогового окна.

Чтобы создать многоступенчатый диалог оповещения, попробуйте поместить все шаги layout1 и показать / скрыть их при следующем / предыдущем нажатии кнопки. Используется ViewGroup step1 = (ViewGroup) dialog.findViewById(R.id.step1); для получения представлений внутри диалогового окна.