java - 在 Android 中按下导航后退按钮时保留编辑文本数据

标签 java android

在我的申请表中有几个编辑文本,其中导航返回按下了我的数据丢失并且焦点无法在单击导航键后退按钮后保留该数据如何解决此问题

最佳答案

欢迎在 StackOverflow 上发帖。通常最好的做法是发布您尝试过的内容,而不是为我解决问题,但由于您是新来的,我将为您提供所需的信息。

当按下硬件后退按钮 onBackPressed 被触发时,您需要像这样覆盖它:

@Override
public void onBackPressed() {
}

然后您需要像这样设置 Activity 结果:

Intent resultIntent = new Intent();
resultIntent.putExtra("edit_text_info", editText.getText().toString()); 
setResult(Activity.RESULT_OK, resultIntent);
finish();

并开始此 Activity 以获取结果:

startActivityForResult(Activity, ActivityRequestCode);

然后用edittext覆盖调用 Activity 的 Activity 的onresult

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == ActivityRequestCode && resultCode == RESULT_OK && data != null) {
        editText = data.getStringExtra(ActivityRequestCode);
    }
}

使用 editText 从 Activity 接收到状态后,将其保存在一个变量中,并在使用 putStringExtra 导航回该变量后将其返回,然后...完成。

另一个解决方案是创建一个包含此编辑文本的 fragment 并将状态保留在 Activity 中,但我的假设是您是 Android 新手,所以这可能更容易(当然比定义单例或其他东西更好) .

关于java - 在 Android 中按下导航后退按钮时保留编辑文本数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57604343/

相关文章:

android - 更新 Android 主屏幕 TextView

java - Spring restTemplate 获取响应的问题

java - 如何编写不需要 AspectJWeaver 的切入点表达式

java - maven 中的配置文件 - 选择要构建的文件取决于 maven 中的配置文件

android - map 不显示?

android - 在设备上调试 sqlite 数据库

Java Android 完成 Activity ,开始上一个 Activity

java - 如何在Java中导出高分辨率图像

java - 将库添加到 netbeans gradle 项目

android - 父 View 与 subview 重叠