A7m*_*dev 19 android searchview android-5.0-lollipop
我在使用appcompat.v7之前在Actionbar中实现了SearchView,但是当我想将SearchView与支持库v7一起使用时,它显示了null异常
很有型
<item android:id="@+id/action_search"
android:title="@string/action_search"
android:icon="@drawable/ic_action_search"
app:showAsAction="always|collapseActionView"
android:actionViewClass="android.support.v7.widget.SearchView" />
Run Code Online (Sandbox Code Playgroud)
在Java类中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setOnQueryTextListener(this);
return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在onCreateOptionsMenu中声明SearchView以便能够设置查询侦听器?
eba*_*hea 26
您应该使用静态方法来MenuItemCompat处理所有AppCompat菜单项.这个博客文章中提到了这是"新集成"下的最后一项.只需用SearchView以下内容替换您的声明即可.
SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
Run Code Online (Sandbox Code Playgroud)
这是MenuItemCompat文档的链接.
编辑:
我只是假设您正在使用最新版本的AppCompat并支持新的Toolbar小部件.
| 归档时间: |
|
| 查看次数: |
14116 次 |
| 最近记录: |