エンジニア男

勉強したことの忘備録としてつらつら書いていきます。

【Android】SearchViewの使い方

SearchViewの使い方のメモ

 

・参考動画

https://www.youtube.com/watch?v=vqh6TPLQ5-Q

 

・search.xml (res/menu/search.xml)

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://shemas.android.com/apk/res-auto">

<item
android:id="@+id/menu_search"
android:icon="@drawable/ic_search"
android:title="search"
app:actionViewClass="android.widget.SearchView"
app:showAsAction="always" />

</menu>

 

 

 ・FirstFragment.kt

class FirstFragment: Fragment() {

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val view = inflater.inflate(R.layout.fragment_first, container, false)

setHasOptionsMenu(true)
return view
}

override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
inflater.inflate(R.menu.search, menu)
val searchItem = menu.findItem(R.id.menu_search)
if (searchItem != null) {
val searchView = searchItem.actionView as SearchView
searchView.setOnQueryTextListener(object : SearchView.OnQueryTextViewListener {
override fun onQueryTextSubmit(query: String?): Boolean {
return true
}

override fun onQueryTextChange(newText: String?): Boolean {
return true
}
})
}
}

}

 ・onQueryTextSubmit

ユーザが検索ボタンをクリックした時に呼ばれるメソッド。

 

・onQueryTextChange

検索欄に入力される文字列が変更された時に呼ばれるメソッド。リアルタイムで更新していく