我使用RecyclerView
带CardView
。我将它们都插入为片段。当我单击并更改时,什么都没有显示。有人可以给我建议解决它。我认为零件中存在将数据分发给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:将Adapter
before设置为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] 删除。
我来说两句