【发布时间】:2016-11-19 11:56:49
【问题描述】:
适配器或任何其他类中没有错误。我在此回收器视图下方附加了一个文本视图以进行测试,它在没有回收器视图的情况下很好地显示。
我只是将带有两个值的字符串数组作为参数传递给适配器类。
public class HomeFragment extends Fragment {
private String[] dataset = {"One","Two"};
private RecyclerView resview;
private RecyclerView.Adapter madapter;
private RecyclerView.LayoutManager mlayoutManager;
private View view;
public HomeFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
initializeRecyclerView();
View view = inflater.inflate(R.layout.fragment_home, container, false);
mlayoutManager = new LinearLayoutManager(getActivity());
resview.setLayoutManager( mlayoutManager);
resview = (RecyclerView) view.findViewById(R.id.resview);
madapter = new ReAdapter(dataset);
resview.setHasFixedSize(true);
resview.setAdapter(madapter);
return view;
}
//Even without this initialize method, i am getting this same error
void initializeRecyclerView() {
resview = (RecyclerView) view.findViewById(R.id.resview);
resview.setAdapter(new ReAdapter(dataset));
resview.setLayoutManager(new LinearLayoutManager(getActivity()));
resview.setHasFixedSize(true);
}
}
这是适配器类。
public class ReAdapter extends RecyclerView.Adapter<ReAdapter.Reviewholder> {
String[] dataset1;
public ReAdapter (String[] dataset){
dataset = this.dataset1;
}
@Override
public Reviewholder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclecontent,parent,false);
Reviewholder holder = new Reviewholder(view);
return holder;
}
@Override
public void onBindViewHolder(Reviewholder holder, int position) {
holder.restext.setText(dataset1[position]);
}
@Override
public int getItemCount() {
return dataset1.length;
}
public class Reviewholder extends RecyclerView.ViewHolder{
public TextView restext;
public Reviewholder(View view) {
super(view);
restext = (TextView) view.findViewById(R.id.restext);
}
}
}
【问题讨论】:
-
也发布适配器类的代码
-
首先你应该删除加倍的 recyclerView 初始化。你做了两次,一次在
initiualizeRecyclerView,然后在onCreateView() -
@RahulKhurana 刚刚使用适配器类编辑
-
@Opiatefuchs 即使没有这个 initializeRecyclerView() 方法,我仍然会遇到同样的错误。
标签: android android-fragments android-recyclerview