在操作栏搜索插件不会触发我的搜索活动我的、插件、操作

2023-09-12 01:50:51 作者:空城旧梦凉薄荷丶

我开发的搜索widget界面根据官方教程:http://developer.android.com/guide/topics/search/search-dialog.html

I'm developing search widget interface based on official tutorial: http://developer.android.com/guide/topics/search/search-dialog.html

问题:我SearchableActivity当我输入我的查询和preSS确定不会被触发/输入

Problem: My SearchableActivity doesn't get triggered when I enter my query and press Ok/enter.

舱单SearchableActivity:的

<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>

XML / searchable.xml 的

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

主要业务生命周期的方法,该方法将图标添加到动作栏(正常工作):的

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.main, menu);

    // Get the SearchView and set the searchable configuration
    SearchManager searchManager = (SearchManager)getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

    // Do not iconify the widget;expand it by default
    searchView.setIconifiedByDefault(false);

    return true;
}

SearchableActivity.java 的

public class SearchableActivity extends ListActivity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d("MY", "search activity triggered");
   }

}

注意:搜索小工具出现在操作栏,我可以插入数据,但pressing确定/输入不带我去SearchableActivity(不触发的onCreate该SearchableActivity)。

Note: The search widget appear on the action bar and I can insert data, but pressing the OK/Enter doesn't take me to the SearchableActivity (doesn't trigger onCreate of the SearchableActivity).

我缺少的东西或者是官方教程有缺陷?

Am I missing something or is the official tutorial flawed?

推荐答案

问题解决了:教程似乎漏掉了一个重要的部分:&LT;元数据的android:NAME =android.app.default_searchable 机器人:值=MySearchActivityName/&GT; &LT内部加入;用途&gt; 标签清单中得到搜索窗口小部件的工作正确的。

Problem solved: the tutorial seems to missing one important part: <meta-data android:name="android.app.default_searchable" android:value=".MySearchActivityName" /> has to be added inside <application> tags in manifest to get the search widget working correctly.

修改 - 兼提示解决问题时,动作条搜索没有在数据发布(任何给定及文件还没有得到关于这个限制词没有错误)引发:在搜索。 xml文件的android:提示和android:标签属性的必须是引用到strings.xml中的字符串。 来源

EDIT- Also a hint to solving a problem when the actionbar search is not triggered on data posting (no error given whatsoever and documentations hasn't got a word about this limitation): in searchable.xml file android:hint and android:label attributes MUST be references to strings in strings.xml. Source