1
:Androidのダイアログ:ダイアログを閉じた後にどこに戻りますか?私は「onCreateDialog」メソッドを使用して、アクティビティから警告ダイアログを開いてい
protected Dialog onCreateDialog(int id) {
Dialog dialog = null;
switch(id) {
case DIALOG_PASSWORD_VERIFICATION:
LayoutInflater factory = LayoutInflater.from(this);
final View passwordDialog = factory.inflate(R.layout.password, null);
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Please enter your password");
alert.setView(passwordDialog);
alert.setCancelable(false);
alert.create();
alert.setPositiveButton("Ok", new PasswordDialogListenerOk(
passwordDialog, getApplicationContext()));
alert.setNegativeButton("Cancel", new PasswordDialogListenerOk(
passwordDialog, getApplicationContext()));
alert.show();
break;
default:
dialog = null;
}
return dialog;
}
すべてが罰金とスムーズに動作しますが、私は戻って私の活動に取得していますか見当もつかない。ダイアログは消えますが、ダイアログの終了後にアクティビティの戻り点はどこにありますか?
リスナーでは、ダイアログでユーザーが入力したパスワードを確認するためにサーバーを呼び出します。パスワードが確認されたら、アクティビティに戻ってTextView要素の値を変更したいと考えています。私はそれにアクセスできないので、リスナーのこの要素を更新できません。 – pfust75
リスナーにアクセスを許可してください。それを行うにはいくつかの方法があります。リスナーのコードが非同期でない場合、内部のリスナーが完了した後にUIを更新する別のリスナーに 'PasswordDialogListener'をラップすることができます。リスナーにコールバックを渡すことも、リスナーを内部クラスにすることも、リスナーにビューを渡して更新することもできます(リークしないようにするだけです)。 – kabuko