cuo*_*oka 11 android searchview
我正在按照这个Android教程来实现搜索视图.在解决了一些问题后,我开始工作了.但是,需要单击搜索视图两次才能打开editText.知道发生了什么事吗?
过滤类:
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    getMenuInflater().inflate(R.menu.toolbar_menu_filter, menu);
    // Associate searchable configuration with the SearchView
    SearchManager searchManager =
            (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView =
            (SearchView) menu.findItem(R.id.menu_item_search).getActionView();
    searchView.setSearchableInfo(
            searchManager.getSearchableInfo(getComponentName()));
    searchView.setQueryHint(getResources().getString(R.string.search_hint));
    return super.onCreateOptionsMenu(menu);
}
menu .xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".FilterUI">
<item android:id="@+id/menu_item_search"
    android:title="Search"
    android:icon="@drawable/ic_search_white"
    app:actionViewClass="android.widget.SearchView"
    app:showAsAction="ifRoom|collapseActionView"/>
<item android:id="@+id/menu_item_options"
    android:icon="@drawable/ic_clear_all_white"
    app:showAsAction="ifRoom"
    android:title="@string/filter_default"/>
清单文件
<activity android:name=".Activities.FilterUI"
        android:screenOrientation="portrait"
        android:configChanges="orientation"
        android:windowSoftInputMode="adjustNothing">
        <meta-data android:name="android.app.searchable"
            android:resource="@xml/searchable" />
    </activity>
    <activity android:name=".Activities.SearchActivity">
        <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>
    </activity>
ʍѳђ*_*ઽ૯ท 10
回答可能为时已晚,但让我们完成它。就像我说的,最好使用:
app:actionViewClass="android.support.v7.widget.SearchView"
为了更多的兼容性等。但重点是,在 new 中AndroidX,我们不能使用,android.support因为我们迁移到,AndroidX并且只有:
app:actionViewClass="android.widget.SearchView"
可用的。但是,让我们看看有关最新 API (AndroidX) 等的文档是什么:
注意: 为了与 API 级别 7 及更高级别兼容,该类包含在支持库中。如果您仅针对API 级别 11 及更高级别开发应用程序,则应改为使用框架类。
android.widget.SearchView
所以在AndroidX,我发现:
app:actionViewClass="androidx.appcompat.widget.SearchView"
要使用但您仍然可以使用:android.widget.SearchView。
| 归档时间: | 
 | 
| 查看次数: | 769 次 | 
| 最近记录: |