当前位置: 首页 > 知识库问答 >
问题:

没有适配器连接;跳过布局:RecyclerView(带适配器)

楚昀
2023-03-14

ListPetientFragment。JAVA

    public class ListPetientFragment extends Fragment {

    private String URLstring = "http://192.168.43.29:8080/emedical/list.php";
    private static ProgressDialog mProgressDialog;
    ArrayList<DataModel> dataModelArrayList;
    RvAdapter rvAdapter;
    RecyclerView recyclerView;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_list,container,false);
        recyclerView = (RecyclerView) v.findViewById(R.id.recycler);
        fetchingJSON();
        return v;
    }

    private void fetchingJSON() {

        StringRequest stringRequest = new StringRequest(Request.Method.GET, URLstring,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {

                        Log.d("strrrrr", ">>" + response);

                        try {
                            JSONObject obj = new JSONObject(response);
                            if(obj.optString("selected").equals("selected")){

                                dataModelArrayList = new ArrayList<>();
                                JSONArray dataArray  = obj.getJSONArray("code1");

                                for (int i = 0; i < dataArray.length(); i++) {

                                    DataModel playerModel = new DataModel();
                                    JSONObject dataobj = dataArray.getJSONObject(i);

                                    playerModel.setNames(dataobj.getString("names"));
                                    playerModel.setPhone(dataobj.getString("phoneNumber"));
                                    playerModel.setDisease(dataobj.getString("disease"));
                                    dataModelArrayList.add(playerModel);
                                }
                                setupRecycler();
                            }

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        //displaying the error in toast if occurrs
                        Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_SHORT).show();
                    }
                });

        // request queue
        RequestQueue requestQueue = Volley.newRequestQueue(getActivity());

        requestQueue.add(stringRequest);

    }
    private void setupRecycler(){
        rvAdapter = new RvAdapter(getContext(),dataModelArrayList);
        rvAdapter.notifyDataSetChanged();
        recyclerView.setAdapter(rvAdapter);
        recyclerView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));

    }

}

错误是:2021-11-17 18:41:02.417 29997-29997/?E/rtphonemedicat:运行时设置的未知位_标志:0x8000 2021-11-17 18:41:03.628 29997-30029/com。尼戈特。smartphonemedicate E/GED:无法获取GED日志Buf,错误(0)2021-11-17 18:41:03.698 29997-30029/com。尼戈特。smartphonemedicate E/ion:ioctl c0044901失败,代码为-1:无效html" target="_blank">参数2021-11-17 18:41:13.899 29997-29997/com。尼戈特。smartphonemedicate E/RecyclerView:未连接适配器;跳过布局

提前感谢!!!

共有1个答案

子车勇锐
2023-03-14

在将适配器设置为回收视图之前不要通知数据集

private void setupRecycler(){
        rvAdapter = new RvAdapter(getContext(),dataModelArrayList);
        rvAdapter.notifyDataSetChanged(); //remove this line
        recyclerView.setAdapter(rvAdapter);
        recyclerView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));

    }

更新此功能

private void setupRecycler(){
            recyclerView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
            rvAdapter = new RvAdapter(getContext(),dataModelArrayList);
            recyclerView.setAdapter(rvAdapter);
    
        }
 类似资料:
  • 我想从火力点实时数据库显示图片。(带有加密图像(字符串))类似加密图像是“照片” 函数loadPhoto() 问题出在哪里?我连接adapter和recyclerview,并设置GridManager。

  • 这是我在片段中的代码: 这是从LogCat得到的 没有连接适配器跳过布局 观赏者 我在model类中设置getter和setter方法。(holder类所必需变量)

  • 我制作了一个基本的购物清单应用程序,它利用回收器视图来显示列表项目。我正在尝试使用带有片段的导航添加设置屏幕。我遇到了我的回收器视图的问题 主活动.kt HomeFragment.kt 设置Fragment.kt activity_main.xml fragment\u home.xml navigation.xml 不确定是否需要更多信息。提前道歉-我是android studio的新手

  • 我正在尝试在片段中使用回收器视图,但我遇到一个问题,我的列表没有出现,我有这个错误: e/recycle view:未连接适配器;跳过布局 我检查了解决方案,显然问题出现在: > < li > < p > RecyclerView在适配器后初始化 绑定和设置回收器在“创建”查看“而不是”创建“中查看 但我注意到了,我尝试了其他选择,我仍然面临着同样的问题。 这是我的片段代码: XML: 列表适配器

  • 当应用程序启动时,我得到一个空白屏幕,当我检查日志时,我得到:E/回收人员视图:没有连接适配器;跳过布局错误 我不知道为什么?任何想法,它似乎没有附加回收器视图或添加任何数据,我附加了Main活动、DataAdapter和数据类。 主要活动 数据适配器 下面是我的数据类,将从中提取数据 我ncluded.java 收集器和设置器 这是jsonResponse类,在接口中引用 感谢任何帮助。