如何在当前活动

时间:2018-04-04 09:34:03

标签: android listview android-studio android-activity full-text-search

在我的应用程序中,我有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时,应用程序崩溃。

请建议我怎么做才能解决我的问题谢谢。

1 个答案:

答案 0 :(得分:0)

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

但这里非常简单,我找到了100%正常工作的解决方案。

public void onBackPressed() { 
    finish();
}

它将完成新开设的活动(C)并显示之前的活动(B)

我从不需要保存任何数据。实际上之前的活动(B)不是停止,而是暂停,并且其中已包含所有内容。它只是在新活动(C)打开时隐藏。当我们finish(); n 刚刚打开活动(C)时,它是Stopped();,之前再次显示未重新创建。

它可以帮助某人并节省他的时间。感谢