我正在尝试从回收器视图中的 Api 获取图像数据,但以下代码在回收器视图中按 Id 查找视图时出现错误
以下代码是调用获取的数据的活动:
lateinit var rvMain:RecyclerView
lateinit var myAdapter: MyAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_2)
//rvMain = findViewById<RecyclerView>(R.id.recyclerview)
setContent {
rvMain.findViewById(R.id.recycler_view)
getAllData()
}
}
private fun getAllData() {
var retrofit = Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build()
.create(ApiInterface::class.java)
var retroData = retrofit.getData()
retroData.enqueue(object :Callback<List<MyDataItem>> {
override fun onResponse(
call:Call<List<MyDataItem>>,
response: retrofit2.Response<List<MyDataItem>>
) {
var data = response.body()
Log.d("data", data.toString())
}
override fun onFailure(call: Call<List<MyDataItem>>, t: Throwable) {
TODO("Not yet implemented")
}
})
}
}
出现此问题是因为您尝试在代码的
findViewById
块中调用 setContent
。该块可能属于不同的视图框架,并且无权访问活动的视图层次结构。
请移到外面再试一次