Проблема с диалоговым окном TabHost и / или ViewFlipper

#android #dialog #android-context

#Android #диалог #android-контекст

Вопрос:

У меня возникли некоторые проблемы с TabHost и ViewFlipper .

Вот, ViewFlipper как я ожидаю, ответ на этот вопрос также выполнит работу в TabHost .

Я хотел бы, чтобы пользовательский диалог отображался, когда пользователь достигает определенного этапа, но я не могу понять, что Context ему передать?

 final Dialog congratsDialog = new Dialog(MyActivity.this);
congratsDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
congratsDialog.setContentView(R.layout.congrats_dialog);
TextView name = (TextView) congratsDialog.findViewById(R.id.congratsDialogName);
name.setText(player.getName());
  

Это приведет к появлению NullPointerException в строке, которую я пытаюсь setText .

Я также пробовал flipper.getContext() , getBaseContext() , getApplicationContext() и также пробовал другие сумасшедшие вещи, но каждый раз, когда я получаю NullPointerException

Ответ №1:

setContentView() в dialog — это компромисс по сравнению с версией Android, если вы используете Android 2.0 или менее, это не сработает, используйте версии 2.0 или выше для этой функции. В противном случае, если вы хотите сделать это для всех версий, используйте setContentView (View), где View — это xml-макет диалога поздравлений после его раздувания.

Пожалуйста, попробуйте это и дайте мне знать, если у вас есть решение.