Так что я хочу спросить у пользователя свое имя, прежде чем продолжить сборку активности. Большая часть активности заполняется динамически, поэтому кажется, что это должно быть легко. По какой-то причине Диалог никогда не появляется. Я пробовал все, и единственное, что я могу придумать: возможно, ему не нравится быть в методе onCreate? Кажется, это не должно быть проблемой, хотя, поскольку это буквально последний метод, вызываемый в onCreate. Проверьте его и дайте мне знать, что вы видите:AlertDialog не будет отображаться в методе onCreate
OnCreate метод:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initializeHotels();
FIRST_TURN = true;
clearOldBoard();
setContentView(R.layout.activity_game_board);
setUpBoardGUI();
setOnPlayerSetUpEventListener(new onPlayerSetUpEventListener() {
@Override
public void onPlayerSetUp(){
prepForFirstTurn();
}
});
startGameDialog();
}
И метод startGameDialog:
public void startGameDialog(){
Context context = getApplicationContext();
ContextThemeWrapper ctw = new ContextThemeWrapper(context, R.style.AppBaseTheme);
AlertDialog.Builder startGameDialog = new AlertDialog.Builder(ctw);
startGameDialog.setTitle(getResources().getString(R.string.whats_your_name));
LinearLayout dialogLayout = new LinearLayout(context);
final EditText newName = new EditText(context);
newName.setText("");
Button submit = new Button(context);
OnClickListener onClick = new OnClickListener() {
@Override
public void onClick(View v) {
GameBoardActivity.NAME = newName.toString();
setUpPlayers();
}
};
submit.setOnClickListener(onClick);
dialogLayout.addView(newName);
dialogLayout.addView(submit);
startGameDialog.setView(dialogLayout);
Dialog dialog = startGameDialog.create();
dialog.show();
dialog.setCancelable(false);
}
Сожалею. Это «нет». Тем более, что я использую тот же код для других диалогов в других местах программы, и он выполняется безупречно. (Пробовал в любом случае, и он не работает). –
@JRadtheBad работает? но он не работает в вашей текущей деятельности? –
«AlertDialog», который не отображается, - это код, который вы видите выше. В другом месте программы я использую почти тот же самый код, и диалоговые окна отображаются хорошо. Только в этой конкретной ситуации диалог не отображается. –