Java 如何在适配器中正确显示自定义对话框
我在我的应用程序中有一个自定义适配器,我从那里启动了几个活动,适配器中的一个填充列表会将您带回登录屏幕,这很好,但我决定在将用户带到登录屏幕之前添加一个确认对话框,但是我得到一个错误,说android.content.ActivityNotFoundException:找不到处理意图{}的活动 这就是我到目前为止所实现的 AccountAdapter.java CustomAlertDialog.java AccountFragment.java,我在其中填充帐户适配器Java 如何在适配器中正确显示自定义对话框,java,android,android-alertdialog,Java,Android,Android Alertdialog,我在我的应用程序中有一个自定义适配器,我从那里启动了几个活动,适配器中的一个填充列表会将您带回登录屏幕,这很好,但我决定在将用户带到登录屏幕之前添加一个确认对话框,但是我得到一个错误,说android.content.ActivityNotFoundException:找不到处理意图{}的活动 这就是我到目前为止所实现的 AccountAdapter.java CustomAlertDialog.java AccountFragment.java,我在其中填充帐户适配器 private void
private void prepareAccountData() {
// if (mAdapter == null) {
// return;
// }
AccountModel options = new AccountModel("Settings", R.drawable.ic_action_settings);
accountList.add(options);
options = new AccountModel("Update Profile", R.drawable.ic_social_person_outline);
accountList.add(options);
options = new AccountModel("Change Password", R.drawable.ic_hardware_security);
accountList.add(options);
options = new AccountModel("Logout", R.drawable.ic_action_exit_to_app);
accountList.add(options);
mAdapter.notifyDataSetChanged();
}
这是我用于直接注销的代码,它也可以工作
((Activity)mCtx).finish();
SharedPreferences sharedPreferences = mCtx.getSharedPreferences("key", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.clear();
editor.apply();
intent = new Intent(mCtx, LoginActivity.class);
如何在我的适配器中实现自定义对话框?您的代码有错误,您没有初始化意图在显示对话框的情况下,您应该将逻辑移到对话框中的onClick,移动此mCtx.startactivitycontent;进入案例
@Override
public void onClick(View v) {
switch (getAdapterPosition()){
case 0:
mCtx.startActivity(new Intent(mCtx, SettingsActivity.class));
break;
case 1:
mCtx.startActivity(new Intent(mCtx, ProfileActivity.class));
break;
case 2:
mCtx.startActivity(new Intent(mCtx, ChangePasswordActivity.class));
break;
default:
CustomAlertDialog alert = new CustomAlertDialog((Activity)mCtx)
alert.show();
break;
}
}
你能附上坠机日志吗?我没有看到您在对话框中处理的代码是我还没有处理是我对话框,只是想先让对话框工作删除mCtx.startactivitycontent;将阻止其他活动启动最后一个代码是我的问题,我需要将其添加到对话框yes按钮Yeah,应处理在对话框内导航,当用户按Now时关闭错误ok我们可以在聊天室中讨论其他问题请检查聊天室
((Activity)mCtx).finish();
SharedPreferences sharedPreferences = mCtx.getSharedPreferences("key", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.clear();
editor.apply();
intent = new Intent(mCtx, LoginActivity.class);
@Override
public void onClick(View v) {
switch (getAdapterPosition()){
case 0:
mCtx.startActivity(new Intent(mCtx, SettingsActivity.class));
break;
case 1:
mCtx.startActivity(new Intent(mCtx, ProfileActivity.class));
break;
case 2:
mCtx.startActivity(new Intent(mCtx, ChangePasswordActivity.class));
break;
default:
CustomAlertDialog alert = new CustomAlertDialog((Activity)mCtx)
alert.show();
break;
}
}