【发布时间】:2021-10-23 07:18:32
【问题描述】:
我遇到的问题是,我想在 RecyclerView 的适配器中访问我的 ViewModel,但我有一个例外: “您的活动尚未附加到应用程序实例。您不能在 onCreate 调用之前请求 ViewModel”
class FoodInSortAdapter( val activity:MainActivity,private val list:List<String>):RecyclerView.Adapter<FoodInSortAdapter.Holder>() {
val viewModel :FoodViewModel by lazy {
println("servus")
ViewModelProvider(activity).get(FoodViewModel::class.java)}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Holder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.sortitem, parent, false)
return Holder(view)
}
override fun onBindViewHolder(holder: Holder, position: Int) {
holder.sortName.text = list[position]
holder.itemView.setOnClickListener {
val m=list[position]
viewModel.setQuery(m)
}
}
有人知道这是怎么回事吗?
谢谢
【问题讨论】:
-
发布您的问题时。直接贴代码sn-p。其他人会更容易,你会得到更快的答案。
-
@CodeWithVikas,感谢您的建议,刚到这里。你是说 CodeSample 还是 BlockQuote?
-
两者都可以。
标签: android android-recyclerview adapter viewmodel