class testAdapter(
private val list: ArrayList<Objects>
) : RecyclerView.Adapter<testViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): testViewHolder {
*BREAKPOINT HERE*
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.X, parent, false)
val viewHolder = testViewHolder(view)
return viewHolder
}
override fun onBindViewHolder(holder: testViewHolder, position: Int) {
holder.bind()
}
override fun getItemCount(): Int { return contentList.size }
}
我可以看到程序在这里,因为断点是经过检查标记的。我很确定,它是由async(通过改装)调用引起的,它收集了项目列表,但我怎么能与之斗争呢?如果我无法调试适配器功能,我可以编写代码。
我设置了这样的适配器:
onCreate() {
recyclerView =rootView.findViewById(R.id.test)
gridLayoutManager = /* custom grid layout manager */ (this is fine)
recyclerView.layoutManager = gridLayoutManager
}
asyncFunctionResult(list: List) {
contentAdapter = testAdapter()
recyclerView.adapter = contentAdapter
}
抱歉伪代码,但这应该足够了。很明显,在适配器等方面有很多问题,但它至少应该从调试器中获得[停止]。有什么想法吗?
答案 0 :(得分:0)
看起来您的列表未填写,onCreateViewHolder
仅在需要对项目进行充气时调用,此时需要显示列表项。
您可以尝试将项目添加到contentlist
或list
(因为您的代码显示了2个列表,我认为这也是伪代码)。
答案 1 :(得分:0)
对于有此问题的任何人:请尝试检查是否忘记添加recyclerview.layoutManager
。