我有一个应用程序,它在ListView
. 这个列表相当长,所以我实现了Search
这样的功能:
<activity android:name=".ItemsOverview"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- enable the search dialog to send searches to ItemsSearch -->
<meta-data android:name="android.app.default_searchable"
android:value=".ItemsSearch" />
</activity>
...
...
<activity android:name=".ItemsSearch">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
ItemsSearch
然后呈现相同的ListView
,但仅包含与搜索条件匹配的项目。
这有两个基本问题:
ItemsSearch
几乎是副本ItemsOverview
(但对搜索功能进行了一些增强);ItemsSearch
覆盖ItemsOverview
,这样如果完成了三到四次搜索,则需要按四到五次“返回”按钮才能退出。不太理想的效果。:)
我想以某种方式在第二个活动开始时结束原始活动,理想情况下,将两个类(概述和搜索)合并为一个。有没有办法让我的 Activity 检测到它已经在另一个进程中运行,并在开始时杀死那个另一个进程?
一旦我理解了这一点,我可能会弄清楚如何将两者结合起来。其他人在需要使用过滤列表时会怎么做?