我正在學習 Kotlin,并試圖將一些直接來自(房間)資料庫的資料過濾到我的配接器中以顯示它們。
這是我的代碼(來自片段內,包含帶有配接器的回收視圖):
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val adapter = LatestReleaseListAdapter {
}
binding.recyclerView.layoutManager = LinearLayoutManager(this.context)
binding.recyclerView.adapter = adapter
viewModel.allItems.observe(this.viewLifecycleOwner) { items ->
//Here I'd like to remove the items that has been seen already
items.filter { item -> !item.hasBeenSeen }
items.let {
adapter.submitList(it)
}
}
如您所見,代碼非常簡單。我只是想過濾布林值“hasBeenSeen”為真的串列元素。我只想顯示布林值“hasBeenSeen”為假的那些。我怎樣才能做到這一點?
uj5u.com熱心網友回復:
呼叫filter將過濾專案并回傳一個僅包含過濾專案的新集合。所以你可以做這樣的事情
val filteredItems = items.filter { item -> !item.hasBeenSeen }
adapter.submitList(filteredItems)
或者保持簡短
adapter.submitList(items.filter { item -> !item.hasBeenSeen })
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/405215.html
標籤:
上一篇:十進制格式值自定義問題
下一篇:如何在某個點停止滑動?
