在我的应用程序中,我有3个活动 1.搜索框活动(A) 2. ListView活动显示结果(B) 3. WebView Acitivity以显示单页(C)
A - > B - > ç
我使用系统返回按钮返回或
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
并在App中显示后退按钮
成功显示单个结果后,我回去了
A&lt; -B < - C
如何在当前活动(B)中的 ListView (Android)中保存搜索结果,以便在我打开新活动(C)通过单击ListView项目,我可以返回并显示相同的搜索结果。
对我来说,当我从新开启的活动(C)返回到上一个活动(B)时,按系统后退按钮< /强>
我在不同论坛和Stackoverflow上尝试过很多建议。这包括使用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);}
没有成功。当我从活动C返回活动B时,应用程序崩溃。
请建议我怎么做才能解决我的问题谢谢。
答案 0 :(得分:0)
我整夜尝试了不同的解决方案,但没有任何效果。
但这里非常简单,我找到了100%正常工作的解决方案。
public void onBackPressed() {
finish();
}
它将完成新开设的活动(C)并显示之前的活动(B)
我从不需要保存任何数据。实际上之前的活动(B)不是停止,而是暂停,并且其中已包含所有内容。它只是在新活动(C)打开时隐藏。当我们finish();
n 刚刚打开活动(C)时,它是Stopped();
,之前再次显示未重新创建。
它可以帮助某人并节省他的时间。感谢