【问题标题】:kotlin.UninitializedPropertyAccessException: lateinit property gameAdapter has not been initialized [duplicate]kotlin.UninitializedPropertyAccessException:lateinit 属性 gameAdapter 尚未初始化 [重复]
【发布时间】:2020-01-09 05:49:19
【问题描述】:

我目前正在完成我的大学作业。我已经在这个问题上停留了一段时间,有人可以指出我的错误。非常感激!当我尝试填充我的回收视图数据时,我创建了一个返回游戏列表的类。显示此错误:

2020-01-09 13:27:58.937 20456-20456/com.example.android.navigation E/AndroidRuntime: 致命异常: main 进程:com.example.android.navigation,PID:20456 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.android.navigation/com.example.android.navigation.MainActivity}: kotlin.UninitializedPropertyAccessException:lateinit 属性 gameAdapter 尚未初始化

class TitleFragment : Fragment() {

private lateinit var gameAdapter: GameRecyclerAdapter

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                          savedInstanceState: Bundle?): View? {

    val view: View = inflater!!.inflate(R.layout.fragment_home, container, false)

    val mRecyclerView = view.findViewById(R.id.rv_game_list) as RecyclerView
    val linearLayoutManager = LinearLayoutManager(activity)
    mRecyclerView.setLayoutManager(linearLayoutManager)

    val data = DataSource.createDataSet()
    gameAdapter.submitList(data)

    return view
   }


 }

package com.example.android.navigation.models



class DataSource {

companion object{

    fun createDataSet(): ArrayList<GameList>{
        var list = ArrayList<GameList>()
        list.add(
                GameList(
                        title = "Testing1",
                        body = "dummy data of testing1",
                        username = "alex"
                )
        )
        list.add(
                GameList(
                        title = "Testing2",
                        body = "dummy data of testing1",
                        username = "chris"
                )
        )
        list.add(
                GameList(
                        title = "Testing3",
                        body = "dummy data of testing1",
                        username = "wong"
                )
        )
        list.add(
                GameList(
                        title = "Testing4",
                        body = "dummy data of testing1",
                        username = "long"
                )
        )
        list.add(
                GameList(
                        title = "Testing5",
                        body = "dummy data of testing1",
                        username = "james"
                )
        )
        return list
    }

   }

}

【问题讨论】:

  • 你永远不会创建gameAdapter的实例

标签: android android-studio kotlin


【解决方案1】:

您必须创建GameRecyclerAdapter 实例并分配给gameAdapter

在调用此方法gameAdapter.submitList(data)之前,在onCreateView方法中添加这一行。

   gameAdapter=GameRecyclerAdapter()

【讨论】:

    猜你喜欢
    • 2021-06-21
    • 2020-04-18
    • 2021-04-02
    • 2020-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-23
    • 1970-01-01
    相关资源
    最近更新 更多