Kotlin 如何修复错误';java.lang.IllegalStateException:RecyclerView不能为null';

Kotlin 如何修复错误';java.lang.IllegalStateException:RecyclerView不能为null';,kotlin,android-recyclerview,linearlayoutmanager,Kotlin,Android Recyclerview,Linearlayoutmanager,我有一个recyclerView,在那里我用适配器发送数据,但出现了错误 RecyclerView不能为空 使用我的adpater编码: class InWaitingFragment : Fragment() { private lateinit var adapter: FastItemAdapter<BarterWaitingItem> override fun onCreateView( inflater: LayoutInflater,

我有一个recyclerView,在那里我用适配器发送数据,但出现了错误

RecyclerView不能为空

使用我的adpater编码:

class InWaitingFragment : Fragment() {

    private lateinit var adapter: FastItemAdapter<BarterWaitingItem>

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

    ): View? {

        println("CONTAINER:  " + container)

        val inflate: FrameLayout = inflater.inflate(R.layout.fragment_in_waiting, container, false) as FrameLayout

        adapter = FastItemAdapter<BarterWaitingItem>()

       waitingRecyclerView.layoutManager = LinearLayoutManager(this)

       waitingRecyclerView.adapter = adapter

        val retrofit = Retrofit.Builder()
            .baseUrl("http://10.93.182.95:8888")
            .addConverterFactory(GsonConverterFactory.create())
            .build()

        val service = retrofit.create(RequestManager::class.java)

        val action  = service.getPending()


        action.enqueue(object: Callback<ArrayList<GetBarterResponse>> {
            override fun onResponse(
                call: Call<ArrayList<GetBarterResponse>>,
                response: Response<ArrayList<GetBarterResponse>>
            ) {
                val allBarter = response.body()
                if(allBarter != null){
                    for (c in allBarter){
                        println("OBJET: ${c.buyer_object.title}")
                    }

                    println("ONRESPONSE En attente: " + response.body().toString())
                }
            }

            override fun onFailure(call: Call<ArrayList<GetBarterResponse>>, t: Throwable) {
                println("ONFAILURE En attente: " + t.toString())
            }
        })

        return inflate
    }


}

您应该将
LinearLayoutManager(this)
更改为
LinearLayoutManager(this.context)
您应该将
LinearLayoutManager(this)
更改为
LinearLayoutManager(this.context)
对于您的LinearLayoutManager,片段没有扩展上下文,因此您不能将
用作参数。相反,请使用以下命令:

waitingRecyclerView.layoutManager = LinearLayoutManager(context!!)
对于运行时错误,“RecyclerView不得为null”,这是因为您正在访问
onCreateView
回调中的
waitingRecyclerView
属性。布局尚未初始化。您可以将
waitingRecyclerView
的初始化移动到“onViewCreated”回调

如果必须在创建视图中初始化
waitingRecyclerView
内部
waitingRecyclerView
,则可以通过展开布局时创建的对象访问
waitingRecyclerView

inflate.waitingRecyclerView.layoutManager = LinearLayoutManager(context!!)
inflate.waitingRecyclerView.adapter = adapter

对于LinearLayoutManager,片段没有扩展上下文,因此不能使用
作为参数。相反,请使用以下命令:

waitingRecyclerView.layoutManager = LinearLayoutManager(context!!)
对于运行时错误,“RecyclerView不得为null”,这是因为您正在访问
onCreateView
回调中的
waitingRecyclerView
属性。布局尚未初始化。您可以将
waitingRecyclerView
的初始化移动到“onViewCreated”回调

如果必须在创建视图中初始化
waitingRecyclerView
内部
waitingRecyclerView
,则可以通过展开布局时创建的对象访问
waitingRecyclerView

inflate.waitingRecyclerView.layoutManager = LinearLayoutManager(context!!)
inflate.waitingRecyclerView.adapter = adapter