Android搜索活动和android:launchMode="singleTop"

3

我的应用中只有一个活动,并使用SearchView进行搜索(请参见清单-拦截了搜索意图)。 但是,当我点击搜索时,什么都不发生。活动永远不会重新启动。因此,我从我的活动中删除了android:launchMode =“singleTop”,然后它开始重新启动并“工作”。但是,对于我来说,最好还是使用singleTop,这样活动只有一个实例。为什么我使用singleTop时它没有起作用呢?

<activity
        android:name="com.brianco.andypedia.MainActivity"
        android:label="@string/app_name"
        android:launchMode="singleTop" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
        </intent-filter>
        <meta-data android:name="android.app.searchable" android:resource="@xml/searchable" />
    </activity>

    <meta-data android:name="android.app.default_searchable"
        android:value=".MainActivity" />

很抱歉,我忘记了我是如何解决这个问题的,不过如果我猜的话,我会建议你试试在你的Activity中重写onNewIntent()方法。希望能对你有所帮助! - Eric Cochran
2个回答

1
我不知道这是否能回答你的问题,但此页面展示了一个简单的搜索视图示例,其中包括ActionBar Compat(这是新的谷歌库,兼容旧版Android) 。

0

除了onCreate之外,您还需要在onNewIntent上处理您的搜索意图。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接