[从过去两天开始,我试图设置从Eventbus接收到的回收器视图值,但出现错误,未连接适配器;跳过布局。我已经尝试并测试了互联网上可用的每个代码,例如1. https://github.com/gunhansancar/eventbus-example在适配器中附加数据2. Trying to impact RecyclerView items via EventBus-在适配器类中创建方法,但是什么也没发生
我在事件中得到响应,但无法在回收者视图中使用该响应
代码
@Subscribe(threadMode = ThreadMode.MAIN)
fun pickDropChooseEvent (data : PickAddressDone){
try {
//vehicle list result is a model
vehicleListResult = data.vehicleListResult
vehicleAdapter.updateData(vehicleListResult.vehicleCategory!!);
vehicleAdapter.notifyDataSetChanged();
}
catch (exception : Exception )
{
Log.d("vehicle info" ,"catch pick drop "+exception.toString())
}
}
然后在ViewCreated中我声明了一个方法“ initMembers”来初始化该片段的视图
private fun initMembers() {
try{
vehicleList = ArrayList()
vehicleList.addAll(vehicleListResponse.vehicleListResult!!.vehicleCategory!!)
tvDistance.text = vehicleListResult.ride!!.distanceText
rvVehicleList.setHasFixedSize(true)
rvVehicleList.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
rvVehicleList.setAdapter(vehicleAdapter)
vehicleAdapter = VehicleCategoryAdapter(context!!, vehicleList)
// i have even tried notify change
}catch (exception: Exception)
{
Log.d("vehicle info", " exception "+exception)
}
}
Updat:已解决代码中没有问题,但是问题在Xml ConstraintLayout中。谢谢大家
您应该在onCreateView回调方法中而不在ViewCreated中调用initMembers()方法>