最新の記事アプリケーションアクティビティ、インテント、サービスについてデバイスAndroidでのデバイス制御について。地磁気センサ、加速度センサなどマルチメディアグラフィックス、音楽や動画再生などマルチメディア処理についてユーザインターフェースAndroidのユーザインターフェイスについて、またユーザインターフェイスを提供するコンポーネントの話題について。リソースAndroidでのアイコン、画像、文字列、ローカライゼーションなどHacksマッシュアップ開発環境Androidの開発環境など。コメントはまだありませんAndroid3.0(Honeycomb)からSearchViewという検索ボックス風のViewが追加されました。このViewは検索機能を実装するための非常に便利な機能が備わっています。今回はこれを使用してListViewのアイテムにフィルターをかける方法を紹介します。※現在公開されているHoneycombのSDKはプレビュー版の為、正式版では実装が異なる可能性があります。SearchViewとListの配置まずはSearchViewとListViewをActivityに配置していきます。以下はサンプルのデザイナファイルの内容です。(サンプルはこちらからSVN等を使用してダウンロードして下さい。&lt;/ListView&gt;&lt;/LinearLayout&gt;OnQueryChangeListenerを実装するSearchViewにテキストが入力されたことを検知するにはOnQueryChangeListenerを使用します。OnQueryChangeListenerには実装が必須なメソッドが2つあります。onQueryTextChangedSearchViewにテキストが入力される度に呼ばれるメソッドです。onSubmitQuerySearchViewのSubmitButtonが押下された時に呼ばれるメソッドです。実装例は後ほどサンプルコードを交えて解説します。サンプルコード今回のサンプルはSearchViewにテキストが入力される度にListViewのアイテムにフィルタをかけるという内容になっています。SearchViewに何も入力していない時のテキストを設定search.setQueryHint(&quot;検索文字を入力して下さい。false;}}22行目ではsetIconifiedByDefaultメソッドを使用してSearchViewの初期表示状態を設定しています。このメソッドの引数をtrueにすると、検索アイコンのみが表示され、検索アイコンをタップするとテキスト入力ボックスが表示されるようになり、falseにすると、テキスト入力ボックスが最初から表示されるようになります。25行目ではOnQueryChangeListenerをSearchViewに設定しています。今回のサンプルではメインのActivityにOnQueryChangeListenerを実装しているので引数にthisを指定していますが、別のクラスで実装している場合は実装されているクラスを引数に指定します。28行目ではSearchViewのSubmitButtonを使用するかどうかを指定しています。今回のサンプルではSubmitButtonを使用しませんので引数にfalseを指定していますが、OnQueryChangeListenerのonSubmitQueryメソッドで処理を行いたい場合はtrueを指定する必要があります。31行目ではSearchViewのテキスト入力ボックスに何も入力されていない場合に表示するメッセージを指定しています。35~43行目ではOnQueryChangeListenerのonQueryTextChangedメソッドにListViewにフィルターをかける処理を実装しています。このメソッドはSearchViewにテキストを入力する度に呼ばれます。56~58行目ではOnQueryChangeListenerのonSubmitQueryメソッドを実装しています。このメソッドはSearchViewのSubmitButtonを押下した時に呼ばれるメソッドですが、今回はSubmitButtonを使用していないので、falseを返すだけの空実装になっています。2.0(β)に対応した解説書です。TechBooster.TechBoosterについて。