Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓反压_Android - Fatal编程技术网

Android 安卓反压

Android 安卓反压,android,Android,我有一个Listactivity(ListView)和一个对Listactivity的搜索。当我单击ListActivity中的任何一行时,它将启动Activity2 问题是,当我搜索ListActivity时,我得到了搜索结果。当我单击搜索结果中的任何一行时,它会启动Activity2。当我从Activity2单击back时,它将启动ListActivity,而不是启动搜索结果 原因是当按下OnBack时,会在ListActivity上调用onResume,这会用整个列表填充适配器 是否有人可

我有一个Listactivity(ListView)和一个对Listactivity的搜索。当我单击ListActivity中的任何一行时,它将启动Activity2

问题是,当我搜索ListActivity时,我得到了搜索结果。当我单击搜索结果中的任何一行时,它会启动Activity2。当我从Activity2单击back时,它将启动ListActivity,而不是启动搜索结果

原因是当按下OnBack时,会在ListActivity上调用onResume,这会用整个列表填充适配器


是否有人可以指导我在按下onBack时如何启动搜索结果?

从捆绑对象还原


请检查。

简易模式解决方案是在onSaveInstanceState中设置搜索查询,并在onRestoreInstanceState中重新创建活动后将其还原


选中ref:

因为您只需打开Activity2,然后返回Activity1,所以无需保存和恢复状态。只需在您的
onResume()
方法中添加一些代码“将从
EditText
获取搜索查询,并自动进行搜索”,在填充列表的代码之后

1),在启动新代码之前,您不需要在ListActivity中调用
finish()

2) 在第二个活动中,您应该在
onBackPressed()
中调用finish




我设法将最后一个键入的查询保存在一个变量中。然后,当按下on back时,我在填充列表后对查询进行了搜索

如果我理解正确,您应该保存结果,并在返回时恢复它。但是更多的信息需要查看代码,很难说没有看到它。添加您的代码以及您在日志中的错误请发布您的代码。我想您正在FirstActivity的onResume()中做一些工作。我设法将最后一个键入的查询保存在一个变量中。然后,当按下on back时,我在填充列表后对查询进行了搜索。谢谢你的回答。
//1)
private void startSecondActivity()
{
    Intent intent = new Intent(ListActivity.this, SecondActivity.class);
    //put some Extra if needed
    startActivity(intent);
}
//2)
@Override
public void onBackPressed() {
    super.onBackPressed();
    finish();
}