带有CardView的RecyclerView:什么都没有显示

森国博物馆

我使用RecyclerViewCardView我将它们都插入为片段。当我单击并更改时,什么都没有显示。有人可以给我建议解决它。我认为零件中存在将数据分发给CardView零件的问题。

   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;
        }

    }

RecyclerAdapter一部分。

public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.RecyclerViewHolder> {
    private ArrayList<Status> mStatus;
        public static class RecyclerViewHolder extends RecyclerView.ViewHolder{
    public ImageView mimageView;
    public TextView mtextView1;
    public TextView mtextView2;
            public RecyclerViewHolder(@NonNull View itemView) {
                super(itemView);
                mimageView = itemView.findViewById(R.id.imageView);
                mtextView1 = itemView.findViewById(R.id.textView1);
                mtextView2 = itemView.findViewById(R.id.textView2);
            }
        }
    public RecyclerAdapter(ArrayList<Status> statusArrayList){
            mStatus = statusArrayList;
    }
        @NonNull
        @Override
        public RecyclerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycleview,parent,false);
            RecyclerViewHolder evh = new RecyclerViewHolder(view);
            return evh;
        }

        @Override
        public void onBindViewHolder(@NonNull RecyclerViewHolder holder, int position) {
            Status currentItem = mStatus.get(position);

            holder.mimageView.setImageResource(currentItem.getmImageResource());
            holder.mtextView1.setText(currentItem.getmText1());
            holder.mtextView2.setText(currentItem.getmText2());
        }

        @Override
        public int getItemCount() {
            return mStatus.size();
        }
    }
约翰

解决方案1:将Adapterbefore设置为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);

        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;
    }

}

解决方案2:致电 mAdapter.notifyDataSetChanged()

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;
    }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章