我有一个主要活动,我可以启动对可搜索活动的搜索。我还可以在我的搜索活动中发起搜索。所以我的可搜索活动的启动模式是 singleTop。
如果我在主要活动中进行搜索,我可以通过单击一次后退按钮从可搜索活动返回到主要活动。现在的问题是在主活动中第一次搜索后,如果我在可搜索活动中进行另一次搜索,我需要单击三下后退按钮才能返回主活动。我不确定我在代码中遗漏了什么。
安卓清单
<activity
android:name=".SearchableActivity"
android:launchMode="singleTop" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
可搜索的活动
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listview);
getListView().setEmptyView(findViewById(R.id.lblNoResults));
db = new StoreDB(SearchableActivity.this);
onPostExecute();
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setContentView(R.layout.activity_listview);
getListView().setEmptyView(findViewById(R.id.lblNoResults));
db = new StoreDB(SearchableActivity.this);
onPostExecute();
setIntent(intent);
}
@Override
public void onDestroy() {
super.onDestroy();
db.close();
}
我在可搜索活动中有 onDestroy。谢谢你。