大锯老师,我这个明明设置了Adapter它一直说没Adapter,这是为什么啊
   
我一开始以为学着您那种回调的模式,设置数据。我以为写错了,然后顺序执行错了,才报的这个错误。改了好长时间,最后都把整个整合到一起了,还是这个错误,我就蒙蔽了,把整个框架都删了也没用
运行是这个样子,需要的话我把我网络框架也贴出来

/**
 * 主页上设备传感器的fragment
 */
public class EquipmentSensorFragment extends BaseFragment{
    private static final String TAG = "EquipmentSensorFragment";
    private View rootView;
    private RecyclerView gridHomeEquipmentSensor;
    private GridHomeEquipmentSensorAdapter adapter;
    private List<BeanData.ResultObjBean> resultObj;
    @Override
    protected void registerListener() { }
    @Override
    protected void loadData() {
        getAllEquipmentSensors(getContext());
        // 设置布局管理器
        GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(),2);
        gridLayoutManager.setOrientation(RecyclerView.VERTICAL);
        gridLayoutManager.setReverseLayout(false);
        gridHomeEquipmentSensor.setLayoutManager(gridLayoutManager);
        // 设置适配器
        adapter = new GridHomeEquipmentSensorAdapter(getContext());
        gridHomeEquipmentSensor.setAdapter(adapter);
    }
    private void getAllEquipmentSensors(Context context) {
        RetrofitUtil.getRetrofitUtil().getRetrofitApiInstance().getSensors("306015","",
                DataCacheToSP.getAccessToken(context))
                .enqueue(new MyBaseCallBack<BeanData>(context) {
                    @Override
                    protected void onSuccess(BeanData response) {
                        if (response.getStatus() == 0) {
                            Log.e(TAG,"onSuccess()执行,初步获取到数据!---1");
                            resultObj = response.getResultObj();
                            adapter.refresh(resultObj);
                        }else {
                            Toast.makeText(getContext(),"数据为空",Toast.LENGTH_LONG).show();
                        }
                    }
                });
    }
    @Override
    protected void initView(View rootView) {
        gridHomeEquipmentSensor = rootView.findViewById(R.id.grid_home_equipment_sensor);
    }
    @Override
    protected View onSubViewLoaded(LayoutInflater inflater, ViewGroup container) {
        rootView = inflater.inflate(R.layout.fragment_equipment_sensor, container, false);
        return rootView;
    }
}
public class GridHomeEquipmentSensorAdapter extends RecyclerView.Adapter<GridHomeEquipmentSensorAdapter.GridHomeEquipmentSensorInnerHolder> {
    private static final String TAG = "EquipmentSensorAdapter";
    private Context context;
    private List<BeanData.ResultObjBean> mSensorInfoList = new ArrayList<>();
    public GridHomeEquipmentSensorAdapter(Context context) {
        this.context = context;
    }
    public void refresh(List<BeanData.ResultObjBean> sensorInfoList){
        if (this.mSensorInfoList != null) {
           this.mSensorInfoList.clear();
           this.mSensorInfoList.addAll(sensorInfoList);
        }
        notifyDataSetChanged();
        Log.e(TAG,"数据更新成功!------------5");
    }
    @NonNull
    @Override
    public GridHomeEquipmentSensorInnerHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View itemView = LayoutInflater.from(context).inflate(R.layout.item_home_equipment_sensor,parent,false);
        return new GridHomeEquipmentSensorInnerHolder(itemView);
    }
    @Override
    public void onBindViewHolder(@NonNull GridHomeEquipmentSensorInnerHolder holder, int position) {
        holder.itemView.setTag(position);
        holder.initItemView(mSensorInfoList,position,context);
        // holder.switchEquipmentType(sensorInfoList,position,context);
    }
    @Override
    public int getItemCount() {
        if (mSensorInfoList != null) {
            return mSensorInfoList.size();
        }
        return 0;
    }
    public static class GridHomeEquipmentSensorInnerHolder extends RecyclerView.ViewHolder {
        public GridHomeEquipmentSensorInnerHolder(@NonNull View itemView) {
            super(itemView);
        }
        /**
         * 由于我们当前查询是模糊查询所有,所以设备类型有所不同,在这个加以判断
         * @param sensorInfoList        List<EquipmentSensorInfo> sensorInfoList
         * @param position              对应位置上的View
         */
        @SuppressLint("SetTextI18n")
        public void initItemView(List<BeanData.ResultObjBean> sensorInfoList, int position, Context context) {
            ImageView imgIconEquipmentSensor = itemView.findViewById(R.id.img_icon_equipment_sensor);
            TextView txtTitleEquipmentSensor = itemView.findViewById(R.id.txt_title_equipment_sensor);
            Switch swControlEquipment = itemView.findViewById(R.id.sw_control_equipment);
            TextView txtDataEquipmentSensor = itemView.findViewById(R.id.txt_data_equipment_sensor);
            // 设备传感器图标
            imgIconEquipmentSensor.setImageResource(R.drawable.m_temperature);
            // Glide.with(context).load()
            // 获取设备传感器名称,此项是每个设备都有的
            txtTitleEquipmentSensor.setText(sensorInfoList.get(position).getName());
            // 如果有“Unit”单位的属性返回,那么此设备为传感器类型
            if (sensorInfoList.contains(sensorInfoList.get(position).getUnit())) {
                // 传感器数据
                double value = sensorInfoList.get(position).getValue();
                // 单位
                String unit = sensorInfoList.get(position).getUnit();
                txtDataEquipmentSensor.setText(value + unit);
            }
            // 如果有“OperType”类型返回,则为执行器
            if (sensorInfoList.contains(sensorInfoList.get(position).getOperType())) {
                // 打开
                if (sensorInfoList.get(position).getOperType() == 1) {
                    swControlEquipment.setChecked(true);
                }
                if (sensorInfoList.get(position).getOperType() == 0) {
                    swControlEquipment.setChecked(false);
                }
                if (sensorInfoList.get(position).getOperType() == 2) {
                    Toast.makeText(context,"当前为暂停状态 = " + sensorInfoList.get(position).getOperType(),Toast.LENGTH_SHORT).show();
                }
            }
        }
    }
}
public abstract class BaseFragment extends Fragment {
    private View rootView;
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        rootView = onSubViewLoaded(inflater,container);
        initView(rootView);
        loadData();
        registerListener();
        return rootView;
    }
    /**
     * 注册监听
     */
    protected abstract void registerListener();
    /**
     * 加载数据
     */
    protected abstract void loadData();
    /**
     * 初始化布局
     */
    protected abstract void initView(View rootView);
    /**
     * 绑定布局文件
     * @param inflater      布局填充器
     * @param container     ViewGroup容器
     * @return              与布局文件绑定的View
     */
    protected abstract View onSubViewLoaded(LayoutInflater inflater, ViewGroup container);
}
从你的代码上来看,没看出啥问题。
可是你这个log不一定是UI展示时输出的。
最好看logcat输出的log,而不是run的log。
我一开始以为学着您那种回调的模式,设置数据。我以为写错了,然后顺序执行错了,才报的这个错误。改了好长时间,最后都把整个整合到一起了,还是这个错误,我就蒙蔽了,把整个框架都删了也没用