Как показать настраиваемое диалоговое окно при запуске деятельности

Я хочу показать пользовательское диалоговое окно, когда я начинаю свою первую деятельность без использования кнопки. Я пытаюсь найти, но не могу найти правильного решения, что я действительно хочу сделать. Многие из них используют onClick Listener для достижения этого сценария. Ниже изображение показывает активность с диалоговым окном, это то, что я ищу, но без использования onClick Listener.

введите описание изображения здесь

Как мы можем реализовать без использования onClick Listener?

4 ответа

Просто попробуйте так

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("TADAAAA!").create().show();
}

Любой код, содержащийся в прослушивателе кликов, также работает в другом месте класса (если вы не используете представление, которое щелкнуло)

Создайте диалог в onCreate. Он откроется сразу после начала действия

В вашем основном методе создания действий:

createCustomizeDialog();

Теперь создайте этот метод вне oncreate:

private void createCustomizeDialog() {
        final AlertDialog.Builder builder=new AlertDialog.Builder(this);
        LayoutInflater inflater = getActivity().getLayoutInflater();
        @SuppressLint("InflateParams") final View alertLayout = inflater.inflate(R.layout.customize_dialog, null);
        Button submit=(Button)alertLayout.findViewById(R.id.sButton);

        submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {


            }
        });
        builder.setView(alertLayout);
        alertDialog=builder.create();
        //noinspection ConstantConditions
        alertDialog.show();
    }

Если вы хотите показать диалог только для ПЕРВОГО запуска этого действия, вы должны поместить код для своего диалога в метод onCreate этого действия, если это должно быть сделано для КАЖДОГО запуска этого действия - тогда в onStart() метод.

Другие вопросы по тегам