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