質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

0回答

521閲覧

DBから取得したデータをListViewに反映し、SearchViewで検索したい

wata-091

総合スコア2

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2023/01/14 02:30

現在、簡単なメモアプリを作成しております。
DBに保存されてある値をListViewに反映させるところまでできたのですが、表示されているList項目をタイトル検索したいと考えております。
SearchViewを使い、検索機能を実装したいと考えていますが、この場合の処理方法がわからない状況です。

下記コードのように、DBから様々な値を取得し、それをlistViewへと反映しております。
おそらく🌟で囲んでいる箇所をカスタムしなければいけないと考えておりますが、求めている機能を実装するにはどういったことが必要になりますでしょうか。

class HomeFragment : Fragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setHasOptionsMenu(true) } override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { val screen1 = inflater.inflate(R.layout.fragment_home,container,false) val listView = screen1.findViewById<ListView>(R.id.listView) setListViewAdapter(listView)              🌟↓               listView.isTextFilterEnabled = true view?.findViewById<SearchView>(R.id.search) ?.setOnQueryTextListener( object : SearchView.OnQueryTextListener{ override fun onQueryTextChange(p0: String?): Boolean { if (p0.isNullOrBlank()) { listView.clearTextFilter() } else { listView.setFilterText(p0) } return false } override fun onQueryTextSubmit(arg0: String?): Boolean { return false } } )               🌟↑   return screen1 } override fun onResume() { super.onResume() val listView = requireView().findViewById<ListView>(R.id.listView) setListViewAdapter(listView) } fun setListViewAdapter(listView: ListView) { val helper = DBHelper(requireContext()) helper.readableDatabase.use{ db -> db.query("memos", arrayOf("id","title","content","rating","date","onsen","radio","lat","long"),null,null,null,null,null,null) .use{ cursor -> val memoList = mutableListOf<ListItem>() if (cursor.moveToFirst()){ for (i in 1..cursor.count){ val memoId = cursor.getInt(0) val title = cursor.getString(1) val content = cursor.getString(2) val rating = cursor.getFloat(3) val date = cursor.getString(4) val onsen = cursor.getString(5) val radio = cursor.getString(6) val lat = cursor.getDouble(7) val long = cursor.getDouble(8) memoList.add( ListItem( memoId.toLong(), title, content, rating, date, onsen, radio, lat, long ) ) cursor.moveToNext() } } listView.adapter = CustomListAdapter(requireContext(),memoList, R.layout.list_item) } } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問