私はAndroid 2.2アプリを開発しています。ホームキーを押してダイアログを2回表示してからアプリに戻ります
ダイアログを使用して、ニックネームをユーザーに尋ねます。これは私のソースコードです:
private void showDialog() {
//set up dialog
final Dialog dialog = new Dialog(UserStatsActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.createuserrow);
dialog.setOnDismissListener(this);
//set up button
Button button = (Button) dialog.findViewById(R.id.saveUser);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
TextView nameTextView = (TextView)dialog.findViewById(R.id.userName);
userNickName = nameTextView.getText().toString().trim();
if ((userNickName.length() > 0) &&
(userNickName.length() < 9)){
saveUser = true;
dialog.dismiss();
}
}
});
//now that the dialog is set up, it's time to show it
dialog.show();
}
public void onDismiss(DialogInterface arg0) {
try {
if (saveUser) {
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
User.saveUser(getApplicationContext(), userNickName);
Editor editor = prefs.edit();
editor.putString(USER_NAME, userNickName);
editor.putBoolean(FIRST_TIME_RUN, false);
editor.commit();
loadPreferences();
}
}
catch (Exception ex){
Log.e(Constants.APP_TAG, "UActivity: " + ex.getMessage());
showAlert(this.getString(R.string.errorClose));
}
}
ダイアログが表示されている間、私はホームキーを押します。もう一度アプリを起動して保存ボタンをクリックすると、ダイアログが再び表示されます。
私のコードをデバッグしましたが、それは完全に機能していますが、ダイアログはまだ開いています。
何が起こっているか
ありがとうございました。
どうすれば問題を解決できますか? – VansFannel
それは動作します。私はonPrepareDialogを使う必要はありません。 – VansFannel