android 搜索对话框不工作

标签 android search dialog

我已经使用了机器人指南上的给定教程,并在按下设备或菜单项上的搜索按钮后完成了所有需要做的事情。它不会打开搜索对话框。 我从这里得到教程http://developer.android.com/guide/topics/search/search-dialog.html

我必须在这里发布我的示例代码,这样你们就可以查看它并在可能的情况下提供帮助,这样我就可以知道我哪里出错了。 应该出现对话框的 Activity

<activity android:name=".testAndroid"
                  android:theme="@android:style/Theme.NoTitleBar">
                  <meta-data android:name="android.app.default_searchable"
                   android:value="com.tester.android.Search" />
        </activity>

返回搜索结果的 Activity

<activity android:name=".Search" android:label="Search">
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/>
        </activity>

我在 res/xml 文件夹中的可搜索文件

<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:label="XYZ.com"
    android:hint="Search XYZ.com" >
</searchable>

显示结果的 Activity

public class Search extends ListActivity {

    private Vector<?> loadedArticles;

    @Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        setContentView(R.layout.articles);
        Intent intent = getIntent();
        String query="";
        if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
            query = intent.getStringExtra(SearchManager.QUERY);
        }

        boolean articlesLoaded = findArticles(query); // it shows results and renders it.

    }
}

谁能帮帮我,为什么我在按下搜索硬件按钮后看不到搜索对话框。

最佳答案

最后我自己找到了解决问题的方法

<searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:label="XYZ.com"
    android:hint="Search XYZ.com" >
</searchable>

这里我使用了 label 和 hint 作为直接字符串。相反,我们需要使用 @string/label 我的意思是我们的字符串应该在 strings.xml 中然后使用它们。 这是 Android 中的错误。

关于android 搜索对话框不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077249/

相关文章:

database - 是否有命令在 man-db 中安装的所有手册页中搜索字符串

c# - 将具有命名过滤器的ElasticSearch聚合查询转换为NEST C#

java - 如何将 Twitter Fabric Session 从 Activity 发送到另一个 Activity?

android - 从 Assets 到我们的 Activity 中播放视频的示例代码

python - 将行从一个文件复制到另一个文件

java - 如何在对话框中使用枚举来使用 JComboBox

java - 如果用户在警报对话框中按"is"按钮,如何在列表中添加项目,而如果按“否”则不添加该项目

android - 在显示 DialogFragment 时禁用基础 View 上的触摸事件

javascript - HTML5 GeoLocation 不适用于 Android

android - 如何在 Android 中实现类似 Facebook 签到的 View ?