[Android]検索機能の追加(SearchView)

 

Androidアプリに手軽に検索機能を追加するときには、SearchViewを使用します。(互換性を考慮しandroidxのライブラリを使いします。)

以下のようにレイアウトに追加し使用します。

    <androidx.appcompat.widget.SearchView
        android:id="@+id/search_view"
        android:layout_width="0dp"
        android:layout_height="?attr/actionBarSize"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        />

文字列が入力されたときの処理は、SearchView.OnQueryTextListenerで受け取ります。コードは以下のように記載します。

	//////////////////////////////////////////////////////////////////////////
	//OnQueryTextListener
	private SearchView.OnQueryTextListener mOnQueryTextListener = new SearchView.OnQueryTextListener() {
		@Override
		public boolean onQueryTextSubmit(String query){
			searchData(query);
			return true;
		}

		@Override
		public boolean onQueryTextChange(String newText){
			searchData(newText);
			return true;
		}
	};
    
    public void onCreate(Bundle savedInstanceState) {
        //中略
		SearchView searchView = mView.findViewById(R.id.search_view);
		searchView.setOnQueryTextListener(mOnQueryTextListener);
		searchView.setIconifiedByDefault(false);
        //中略
    }

0 件のコメント :

コメントを投稿