大家好,我的新聞應用程式有問題。我的應用程式運行良好。我可以從火力基地獲取資料,并且可以在使用除錯時將它們寫下來。但是當我在虛擬設備回收器視圖中打開應用程式時,片段中沒有顯示并給出此錯誤:E/RecyclerView:未連接配接器;跳過布局
我的配接器代碼是這樣的:`class FeedAdapter(var userList :ArrayList<Post>) : RecyclerView.Adapter<FeedAdapter.MyViewHolder>() {
class MyViewHolder(itemView : View): RecyclerView.ViewHolder(itemView) {
val comment : TextView = itemView.findViewById(R.id.comment)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val itemView = LayoutInflater.from(parent.context).inflate(R.layout.user_item,parent,false)
return MyViewHolder(itemView)
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
holder.comment.text = userList[position].comment
}
override fun getItemCount(): Int {
return userList.size
}
}`
我的 DashboardFragment 是這樣的:
`類儀表板片段:片段(){
private var postArrayList: ArrayList<Post> = arrayListOf()
private var db: FirebaseFirestore ? = null
private var recyclerView: RecyclerView? = null
private var feedAdapter: FeedAdapter? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
db = FirebaseFirestore.getInstance()
feedAdapter = FeedAdapter(arrayListOf())
recyclerView?.layoutManager =
LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
recyclerView?.adapter = feedAdapter
eventChangeListener()
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_dashboard, container, false)
}
@SuppressLint("NotifyDataSetChanged")
private fun eventChangeListener() {
db?.collection("Posts")?.addSnapshotListener { value, _ ->
if (value != null) {
if (!value.isEmpty) {
val documents = value.documents
for (document in documents) {
val comment: String = (document.get("comment") ?: "").toString()
val post = Post(comment)
Log.d("avs", post.toString())
postArrayList.add(post)
}
Log.d("avsArray", postArrayList.toString())
feedAdapter?.userList = postArrayList
feedAdapter?.notifyDataSetChanged()
}
}
}
}
}`
我找不到解決方案
我嘗試除錯我的應用程式,我的 DashboardFragment 不會有任何問題,我可以清楚地寫入資料。但是當我試圖除錯我的配接器類時,我無法從中得到任何東西
uj5u.com熱心網友回復:
- 沒有設定
recyclerView var(使用findViewById(R.id.yourOwnRecycler)或ViewBinding) - 所有代碼訪問視圖都必須在里面
onViewCreated
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
recyclerView = view.findViewById(R.id.yourOwnRecycler)
recyclerView?.layoutManager =
LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
recyclerView?.adapter = feedAdapter
eventChangeListener()
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/451918.html
標籤:科特林 安卓片段 android-recyclerview 布局
上一篇:如何在片段中使用公共方法
