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