我正在创建一个弹出对话框以确认用户是否退出页面。
过去我使用了这个活动,所以它没有问题。我只需要将对话框放在覆盖onBackPress
函数中,并finish()
在用户选择离开时调用。
但是,目前我想将类切换到 tabhost 中的片段。因此,我不仅需要处理 onbackpress,还需要处理用户单击选项卡栏切换到其他选项卡的情况。
我试过了:
@Override
public void onDetach() {
AlertDialog.Builder builder = new Builder(ctx);
builder.setMessage(getResources().getString(R.string.quit_form));
builder.setNegativeButton(getResources().getString(R.string.yes),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
File directory = new File(Constant.upload_imageFolder);
File[] files = directory.listFiles();
for (int i = 0; i < files.length; ++i) {
files[i].delete();
}
UploadForm.super.onDetach();
}
});
builder.setPositiveButton(getResources().getString(R.string.no),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
但它崩溃了。如何解决问题?并且 onDetach 是要覆盖的正确函数吗?非常感谢。
更新:ondetach时的异常:
android.support.v4.app.SuperNotCalledException: Fragment UploadForm{42db9eb0 #3 id=0x7f050075} did not call through to super.onDetach()