Android 两个AlertDialog、onCancel和“尝试完成输入事件,但输入事件接收器已被释放。”
我有这段代码用于显示与帐户选择器的对话框。单击另一个AlertDialog DoLoginDialog中的“验证”按钮可访问此对话框Android 两个AlertDialog、onCancel和“尝试完成输入事件,但输入事件接收器已被释放。”,android,Android,我有这段代码用于显示与帐户选择器的对话框。单击另一个AlertDialog DoLoginDialog中的“验证”按钮可访问此对话框 它不会对应用程序造成任何问题,但我想了解发生了什么。我搜索过,但只能找到更复杂的情况。这是非常基本的,所以我希望能找到能帮助我理解这里发生的事情的人。我也有同样的问题,我找到了一个解释 由于事件处理工作流,这似乎是一种正常行为。 要避免此警告,您需要将对话框设置为即使触摸外部也不可取消,并在对话框中添加“取消”按钮以取消该对话框 希望这有帮助 accountPic
它不会对应用程序造成任何问题,但我想了解发生了什么。我搜索过,但只能找到更复杂的情况。这是非常基本的,所以我希望能找到能帮助我理解这里发生的事情的人。我也有同样的问题,我找到了一个解释 由于事件处理工作流,这似乎是一种正常行为。 要避免此警告,您需要将对话框设置为即使触摸外部也不可取消,并在对话框中添加“取消”按钮以取消该对话框 希望这有帮助
accountPicker = new AlertDialog.Builder(this)
.setTitle(getString(R.string.common_select_an_account))
.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, name),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (which < availableAccounts.length) {
final Account chosenAccount = availableAccounts[which];
authenticator.verifyAccount(chosenAccount, MainActivity.this);
} else {
authenticator.addNewAccount(MainActivity.this);
}
}}).create();
accountPicker.setCancelable(true);
accountPicker.setCanceledOnTouchOutside(true);
accountPicker.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
if(DEBUG) Log.d(TAG, "OnCancel - AccountPickerDialog");
showDoLoginDialog();
}});
accountPicker.show();
Attempted to finish an input event but the input event receiver
has already been disposed.