我在操作栏中有一个带有搜索视图的应用程序,除了触摸视图之外,我还试图获取硬搜索键来激活它,但我尝试的所有操作都导致从我的应用程序启动 Google Now。
我尝试了以下方法。注释代码是我第二次尝试模拟用户触摸搜索视图,但它不起作用。搜索功能通过触摸屏完美运行我只是在获取硬键来激活它时遇到问题。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch(keyCode) {
case KeyEvent.KEYCODE_SEARCH:
/*mSearchView.setFocusable(true);
mSearchView.setIconified(false);
mSearchView.requestFocus();*/
onSearchRequested();
return true;
}
return super.onKeyDown(keyCode, event);
}
动作视图
<item
android:id="@+id/search"
android:actionViewClass="android.widget.SearchView"
android:icon="@drawable/ic_menu_search"
android:orderInCategory="2"
android:showAsAction="ifRoom"
android:title="@string/menu_search"/>