gpt4 book ai didi

android - 在 PagedListAdapter 中未调用 onCreateViewHolder

转载 作者:行者123 更新时间:2023-11-29 02:20:34 36 4
gpt4 key购买 nike

我有 PagedListAdapater:

class TrackedActivityAdapter constructor(diffUtilCallback: DiffUtil.ItemCallback<TrackedActivity>) :
PagedListAdapter<TrackedActivity, TrackedActivityAdapter.TrackedActivityHolder>(diffUtilCallback) {

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TrackedActivityHolder {
val inflater = LayoutInflater.from(parent.context)
val view = DataBindingUtil.inflate<ActivityItemBinding>(inflater, R.layout.activity_item, parent, false)
return TrackedActivityHolder(view)
}

override fun onBindViewHolder(holder: TrackedActivityHolder, position: Int) {
getItem(position)?.let { holder.bind(it) }
}

class TrackedActivityHolder(var binding: ActivityItemBinding) : RecyclerView.ViewHolder(binding.root) {

fun bind(trackedActivity: TrackedActivity) {
binding.activity = trackedActivity
binding.executePendingBindings()
}

}
}

以及创建此适配器的 fragment :

class HistoryFragment : DaggerFragment() {
@Inject
lateinit var viewModelFactory: ViewModelProvider.Factory

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val binding = DataBindingUtil.inflate<HistoryFragmentViewBinding>(
inflater,
R.layout.history_fragment_view,
container,
false
)
val historyViewModel = ViewModelProviders.of(this, viewModelFactory).get(HistoryViewModel::class.java)
val adapter = TrackedActivityAdapter(TrackedActivity.DIFF_CALLBACK)
binding.trackedActivityRv.adapter = adapter
binding.trackedActivityRv.layoutManager = LinearLayoutManager(binding.root.context)
historyViewModel.getTrackedActivities().observe(this,
Observer<PagedList<TrackedActivity>> { t ->
adapter.submitList(t)
})
binding.executePendingBindings()
return binding.root
}
}

在调用 adapter.submitList(t) 方法之后。没有任何反应,并且没有调用 onCreateViewHolder 和 onBindViewHolder 方法,请告诉我这可能是一个原因,我只是无法理解 (

最佳答案

您是否尝试过使用 HistoryFragmentViewBinding.inflate(inflater) 而不是 DataBindingUtil.inflate()

我遇到了同样的问题,卡住了好几天。原来我只是在最后返回了错误的 View 。它与您的不同,但可能值得一试。

关于android - 在 PagedListAdapter 中未调用 onCreateViewHolder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56097974/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com