如何在当前 Activity 的 ListView (Android) 中保存搜索结果

How to save search results in a ListView (Android) in current Activity

在我的应用程序中,我有 3 个活动 1. 搜索框 Activity (A) 2. ListView Activity 显示结果 (B) 3. WebView Acitivity 显示单页(C)

A -> B -> C

我使用系统后退按钮返回或

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

并且它在 App 中显示了一个后退按钮。

成功显示单个结果后我返回

A <- B <- C

如何将搜索结果保存在 ListView (Android) 中 current Activity (B)这样当我通过单击 ListView 项目打开 new Activity (C) 时,我可以返回并显示相同的搜索结果。

对我来说,当我从 新打开的 Activity (C) 返回到 上一个 Activity ( B) 通过按 系统后退按钮

我在不同的论坛和 Whosebug 上尝试了很多建议。这包括使用 onSaveInstanceState();

保存数据
protected void onSaveInstanceState(Bundle outState) {
    outState.putString("someVarB", saveMe);
    super.onSaveInstanceState(outState);
    Toast.makeText(this,"Saving Entry = " + saveMe, Toast.LENGTH_SHORT).show();
    System.out.println("You are in onSaveInstanceState! " + saveMe);}

屁股没有成功。当我 return 从 Activity C 到 Activity B.

时,应用程序崩溃了

请建议我如何解决我的问题谢谢。

我整晚都尝试了不同的解决方案,但没有任何效果。

但这是我找到的非常简单且 100% 有效的解决方案。

public void onBackPressed() { 
    finish();
}

它将完成新打开的Activity(C)并显示上一个Activity(B)

我从来不需要保存任何数据。实际上 previous Activity (B) 不是 Stopped 而是 Paused 并且已经存在了里面的一切。它只是在 new Activity (C) 打开时隐藏。当我们 finish(); newly 打开 Activity (C) 时它是 Stopped(); 并且再次显示以前的 Not Recreated。

它可能会帮助某人并节省他的时间。谢谢