Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带CardView的RecyclerView:未显示任何内容_Java_Android_Android Recyclerview - Fatal编程技术网

Java 带CardView的RecyclerView:未显示任何内容

Java 带CardView的RecyclerView:未显示任何内容,java,android,android-recyclerview,Java,Android,Android Recyclerview,我正在将RecyclerView与cardwiew一起使用。我将它们作为片段插入。当我单击并更改时,没有显示任何内容。有人能给我一个建议来修理它吗。我认为向cardwiew零件分发数据的零件存在问题 public class favaoritesFragment extends Fragment { public static TextView data; private RecyclerView.Adapter mAdapter; priv

我正在将
RecyclerView
cardwiew
一起使用。我将它们作为片段插入。当我单击并更改时,没有显示任何内容。有人能给我一个建议来修理它吗。我认为向
cardwiew
零件分发数据的零件存在问题

   public class favaoritesFragment extends Fragment {
        public static TextView data;
        private RecyclerView.Adapter mAdapter;
        private RecyclerView.LayoutManager mLayoutManager;
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){
            View view = inflater.inflate(R.layout.fragment_favorites,container,false);
            RecyclerView  mRecyclerView = view.findViewById(R.id.recyclerView);
            mRecyclerView.setHasFixedSize(true);
            mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));


            mRecyclerView.setLayoutManager(mLayoutManager);
            mRecyclerView.setAdapter(mAdapter);
            ArrayList<Status> statusArrayList = new ArrayList<>();
            statusArrayList.add(new Status(R.drawable.ic_action_name,"Line2","Line3"));
            statusArrayList.add(new Status(R.drawable.common_google_signin_btn_icon_dark_focused,"Line2","Line3"));
            statusArrayList.add(new Status(R.drawable.ic_action_name,"Line2","Line3"));

            mAdapter = new RecyclerAdapter(statusArrayList);
         return view;
        }

    }

解决方案1:先初始化
适配器
,然后再设置为
回收视图

 public class favaoritesFragment extends Fragment {
    public static TextView data;
    private RecyclerView.Adapter mAdapter;
    private RecyclerView.LayoutManager mLayoutManager;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){
        View view = inflater.inflate(R.layout.fragment_favorites,container,false);

        ArrayList<Status> statusArrayList = new ArrayList<>();
        statusArrayList.add(new Status(R.drawable.ic_action_name,"Line2","Line3"));
        statusArrayList.add(new Status(R.drawable.common_google_signin_btn_icon_dark_focused,"Line2","Line3"));
        statusArrayList.add(new Status(R.drawable.ic_action_name,"Line2","Line3"));

        mAdapter = new RecyclerAdapter(statusArrayList);

        RecyclerView  mRecyclerView = view.findViewById(R.id.recyclerView);
        mRecyclerView.setHasFixedSize(true);
        mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
        mRecyclerView.setAdapter(mAdapter);
     return view;
    }

}

您应该在
初始化
您的
适配器之后,将
适配器设置为
回收视图
。您将
layout manager
设置为
recyclerview
两次。所以你应该去掉一个

public class favaoritesFragment extends Fragment {
        public static TextView data;
        private RecyclerView.Adapter mAdapter;
        private RecyclerView.LayoutManager mLayoutManager;
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){
            View view = inflater.inflate(R.layout.fragment_favorites,container,false);
            RecyclerView  mRecyclerView = view.findViewById(R.id.recyclerView);
            mRecyclerView.setHasFixedSize(true);

            mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

            // remove below line cause in above line you set layoutManager.
            //mRecyclerView.setLayoutManager(mLayoutManager);

            ArrayList<Status> statusArrayList = new ArrayList<>();
            statusArrayList.add(new Status(R.drawable.ic_action_name,"Line2","Line3"));
            statusArrayList.add(new Status(R.drawable.common_google_signin_btn_icon_dark_focused,"Line2","Line3"));
            statusArrayList.add(new Status(R.drawable.ic_action_name,"Line2","Line3"));

            mAdapter = new RecyclerAdapter(statusArrayList);
            // here you should set adapter to your recycler view after initialize the adapter.
            mRecyclerView.setAdapter(mAdapter); 
         return view;
        }

    }
公共类favaoritesFragment扩展片段{
公共静态文本视图数据;
专用回收器查看适配器mAdapter;
private RecyclerView.LayoutManager MLLayoutManager;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图=充气机。充气(R.layout.fragment\u收藏夹,容器,false);
RecyclerView mRecyclerView=view.findViewById(R.id.RecyclerView);
mRecyclerView.setHasFixedSize(true);
setLayoutManager(新的LinearLayoutManager(getActivity());
//删除您在layoutManager设置的行上方的行下方原因。
//mRecyclerView.setLayoutManager(mllayoutmanager);
ArrayList Status ArrayList=新建ArrayList();
statusArrayList.add(新状态(R.drawable.ic_action_name,“Line2”、“Line3”);
statusArrayList.add(新状态(R.drawable.common\u google\u signin\u btn\u icon\u dark\u focused,“Line2”、“Line3”);
statusArrayList.add(新状态(R.drawable.ic_action_name,“Line2”、“Line3”);
mAdapter=新的回收适配器(statusArrayList);
//在这里,您应该在初始化适配器后将适配器设置为回收器视图。
mRecyclerView.setAdapter(mAdapter);
   返回视图;
}
}
public class favaoritesFragment extends Fragment {
    public static TextView data;
    private RecyclerView.Adapter mAdapter;
    private RecyclerView.LayoutManager mLayoutManager;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){
        View view = inflater.inflate(R.layout.fragment_favorites,container,false);
        RecyclerView  mRecyclerView = view.findViewById(R.id.recyclerView);
        mRecyclerView.setHasFixedSize(true);
        mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

        mRecyclerView.setAdapter(mAdapter);
        ArrayList<Status> statusArrayList = new ArrayList<>();
        statusArrayList.add(new Status(R.drawable.ic_action_name,"Line2","Line3"));
        statusArrayList.add(new Status(R.drawable.common_google_signin_btn_icon_dark_focused,"Line2","Line3"));
        statusArrayList.add(new Status(R.drawable.ic_action_name,"Line2","Line3"));

        mAdapter = new RecyclerAdapter(statusArrayList);
        mAdapter.notifyDataSetChanged();
     return view;
    }

}
public class favaoritesFragment extends Fragment {
        public static TextView data;
        private RecyclerView.Adapter mAdapter;
        private RecyclerView.LayoutManager mLayoutManager;
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){
            View view = inflater.inflate(R.layout.fragment_favorites,container,false);
            RecyclerView  mRecyclerView = view.findViewById(R.id.recyclerView);
            mRecyclerView.setHasFixedSize(true);

            mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));

            // remove below line cause in above line you set layoutManager.
            //mRecyclerView.setLayoutManager(mLayoutManager);

            ArrayList<Status> statusArrayList = new ArrayList<>();
            statusArrayList.add(new Status(R.drawable.ic_action_name,"Line2","Line3"));
            statusArrayList.add(new Status(R.drawable.common_google_signin_btn_icon_dark_focused,"Line2","Line3"));
            statusArrayList.add(new Status(R.drawable.ic_action_name,"Line2","Line3"));

            mAdapter = new RecyclerAdapter(statusArrayList);
            // here you should set adapter to your recycler view after initialize the adapter.
            mRecyclerView.setAdapter(mAdapter); 
         return view;
        }

    }