
![]() | ほんきで学ぶAndroidアプリ開発入門 Android Studio、Android SDK 5対応 新品価格 |
androidで検索といえば
serachManager!!!
かと思いきや
actionbar時代には
searchViewを使うのが良い
そんなわけでやり方
・メニュー
今回は検索アイコン出しっぱにする
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_search"
android:title="@string/menu_title_search"
android:icon="@android:drawable/ic_search_category_default"
android:actionViewClass="android.widget.SearchView"
android:showAsAction="always"/>
</menu>
基本はこれだけ。
これでactionbarの上に検索バーがでるようになる。
・バックボタンの挙動
ただしこのままだと
1回目のバックボタンでfocusがはずれる
2回目のバックボタンでタイトルが元に戻る+アプリ終了
(´・ェ・)なんじゃこりゃ
・バックボタンの挙動直すには
back pressedを上書きする。
isIconifiedは、searchviewがアイコン化されてるかどうか
@Override
public void onBackPressed() {
if (mSearchView !=null && !mSearchView.isIconified()) {
mSearchView.setQuery("", false);
mSearchView.setIconified(true);
} else {
super.onBackPressed();
}
}
http://stackoverflow.com/questions/17506230/how-do-i-close-a-searchview-programmatically
これでうまく動くようになりました(・∀・)
まだまだandroidアプリの機能改善は続く
タグ:android


