#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-макет диалога поздравлений после его раздувания.
Пожалуйста, попробуйте это и дайте мне знать, если у вас есть решение.