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 件のコメント :
コメントを投稿