【问题标题】:My RecyclerView in ViewModel crashing app - kotlin android studio我在 ViewModel 中的 RecyclerView 崩溃应用程序 - kotlin android studio
【发布时间】:2021-09-26 12:49:04
【问题描述】:

我在将 RecyclerView 放入 ViewModel 时遇到问题。 没有视图模型的 RecyclerView 工作完美。

我的 MainFragment:

private lateinit var shoppingListViewModel: ShoppingListViewModel
private lateinit var categoryAdapter: CategoryAdapter

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        shoppingListViewModel = ViewModelProvider(requireActivity())[ShoppingListViewModel::class.java]
    }

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        binding.categoryRV.layoutManager = LinearLayoutManager(requireContext())
        shoppingListViewModel.allCategories.observe(viewLifecycleOwner, {   <-- when I add this line,
            updateCategories(it)                                                crashing my app
        })
    }


    private fun updateCategories(list: List<Category>) {
        categoryAdapter = CategoryAdapter(list)
        binding.categoryRV.adapter = categoryAdapter
    }

我的视图模型:

class ShoppingListViewModel(application: Application) : AndroidViewModel(application) {
    private val repository = Repository(application)
    val allCategories = repository.showAllCategories()
}

我的回购:

class Repository(app: Application) {
    private val shoppingListsDao = ShoppingListDatabaseBuilder.getInstance(app.applicationContext).shoppingListDao()

    fun showAllCategories(): LiveData<List<Category>> {
        return shoppingListsDao.showAllCategories()
    }
}

我的界面道:

@Dao
interface ShoppingListDao {

    @Query("SELECT * FROM category")
    fun showAllCategories(): LiveData<List<Category>>
}

一切看起来都很好,没有错误。不知道怎么回事:(

【问题讨论】:

    标签: kotlin android-recyclerview viewmodel


    【解决方案1】:

    我发现了我的问题。

    我需要更新版本数据库:)

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2022-01-24
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多