gpt4 book ai didi

android - 在 saveState 中,我的上下文是什么?

转载 作者:行者123 更新时间:2023-11-29 14:05:36 26 4
gpt4 key购买 nike

我正在尝试在 saveState() 调用中进行一些清理。如果有我想弹出一个对话框退出 Activity 时出错,但此时 Activity 已经消失。

我想通过名为 StudentEdit 的 Activity 实现这种情况,但上下文应该是什么?当我使用 StudentEdit.this 时,对话框弹出然后消失。 getApplicationContext 原因空指针异常。

private void saveState() {

// some error checking code
// if blah blah
AlertDialog alertDialog = new AlertDialog.Builder(StudentEdit.this).create();

alertDialog.setMessage("error");

alertDialog.setButton(BUTTON_POSITIVE, "Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

// do something for yes

} });
alertDialog.setButton(BUTTON_NEGATIVE, "No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel(); // kill dialog
StudentEdit.this.finish(); // kill the activity
}
});
alertDialog.show();

}

最佳答案

这应该适合你。

@Override
protected void onPause() {
saveState(this)
}

将您的保存状态更改为。

private saveState(Context context) {
//AlertDialog alertDialog = new AlertDialog.Builder(context).create();
Toast.maketext(context, "Boom..." Toast.LENGTH_SHORT).show();
}

这应该足够了,可能不需要来自 onSaveInstanceState 的调用。

更新

如果此时您真的需要展示一些东西,我仍然建议考虑您的设计。可能是 Toast 就可以了,此时不建议使用警报阻止 UI。

关于android - 在 saveState 中,我的上下文是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7237850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com