アクションバーに検索ビューを備えたアプリがあり、ビューに触れるだけでなく、それをアクティブにするためのハード検索キーを取得しようとしていますが、試したすべての結果、アプリから Google Now が起動しました。
私は以下を試しました。コメント付きのコードは、検索ビューに触れるユーザーをエミュレートする 2 回目の試みでしたが、うまくいきませんでした。検索機能は、タッチ スクリーンを介して完全に機能します。ハード キーを有効にするのに問題があるだけです。
@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"/>