我意识到,正如谷歌所说:
在SearchView
中创建searchable.xml
:
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
android:hint="Search"
android:voiceSearchMode="showVoiceSearchButton|launchRecognizer" />
在
res/xml
中创建菜单项:<item
android:id="@+id/second_toolbar_search"
android:icon="@mipmap/ic_search_black_24dp"
android:orderInCategory="100"
android:title="@string/search"
app:showAsAction="collapseActionView|ifRoom"
app:actionViewClass="android.support.v7.widget.SearchView" />
更改我的
res/menu/second_activity_menu
:<activity android:name=".SecondActivity">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
实现了我的扩展类:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.second_activity_menu, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.second_toolbar_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
return true;
}
结果我得到了这个:
在点击搜索图标后,我得到了这个:
当我开始输入时,它不显示,也不显示“清除”图标和麦克风图标。但我在
AndroidManifest
中添加了它们。谢谢你的任何想法或代码。
可能是因为工具栏的风格?
添加2:工具栏,但我不认为它是Nesseary
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
local:theme="@style/AppTheme" />
最佳答案
为工具栏提供任何显式layout_height
:
<android.support.v7.widget.Toolbar
...
android:layout_height="?attr/actionBarSize"
...
/>
注:我找到了这个答案,并投票决定将这个问题作为重复问题结束。
关于android - 键入时Android SearchView不显示文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39223853/