如何在当前 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。
它可能会帮助某人并节省他的时间。谢谢
在我的应用程序中,我有 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。
它可能会帮助某人并节省他的时间。谢谢