搜索视图提示未显示



我正在尝试在我的主要活动中的搜索视图中显示提示文本。OnqueryTextSubmit启动了另一个称为SearchResultSactivity的活动,该活动将显示查询结果。我的问题是我无法显示提示文本。我的searchable.xml代码

<searchable xmlns:android="http://schemas.android.com/apk/res/android"
        android:hint="@string/search_hint"
        android:label="@string/app_name"
/>

和清单代码

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.SEARCH"/>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
        <meta-data
            android:name="android.app.default_searchable1"
            android:value=".SearchResultsActivity"
            android:resource="@xml/searchable"/>
    </activity>
    <activity android:name=".SearchResultsActivity">
        <meta-data android:name="android.app.searchable"
                   android:resource="@xml/searchable">
        </meta-data>
    </activity>
</application>
</manifest>

和最终我的onqueryTextSubmit代码

@Override
        public boolean onQueryTextSubmit(String query)
        {
            Anniversaries tempResults;
            tempResults = mainAnniversariesManager.searchManager.searchAnniversaries(query);
            if (tempResults.entries.size() == 0)
            {
                snackbar = Snackbar.make(findViewById(R.id.coordinator), getString(R.string.no_results_found) + query, Snackbar.LENGTH_INDEFINITE);
                snackbar.show();
                return true;
            } else
            {
                snackbar = null;
                if (!searchView.isIconified())
                {
                    searchView.setIconified(true);
                }
                menuItem.collapseActionView();
                Intent intent=new Intent(getApplicationContext(),SearchResultsActivity.class);
                Bundle args=new Bundle();
                args.putSerializable("serialized_Anniversaries",tempResults);
                intent.putExtra("args",args);
                startActivity(intent);
                return false;
            }
        }

预先感谢

添加搜索视图提示文本使用以下代码:

search.setQueryHint("Custom Search Hint");

尝试使用 app:queryHint="@string/search" app:defaultQueryHint="@string/search"

使用XML配置。

这对我有用:

<SearchView
            .
            .
            .
            android:queryHint="@string/search_hint"
            android:iconifiedByDefault="false"    />  

如果希望在 searchView的非活动状态中可见,则将android:iconifiedByDefault设置为"false"

如果是不希望的集合android:iconifiedByDefault"true"

您可以使用以下两行代码在searchView中显示提示。

1)您可以通过添加以下行添加提示。

android:queryHint="Search Medicines here..."

当您使用上述行时,仅在单击搜索图标时出现提示。

2)如果要显示提示而不单击搜索图标简单添加以下行中的搜索视图

android:iconifiedByDefault="false"

对我而言,无用的解决方案不起作用。

我获得了搜索视图的可疑性的实例,然后为此设置了一个提示。

EditText et= (EditText) mSearchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
et.setHint(context.getString(R.string.search));

根据创建可搜索的配置

如果您将SearchView用作应用程序栏中的操作视图,则应通过调用setSearchableInfo(SearchableInfo)将可搜索的配置与SearchView相关联。

SearchManager sm = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView.setSearchableInfo(sm.getSearchableInfo(getComponentName()));

相关内容

  • 没有找到相关文章

最新更新