Es gibt keine Fehler in Adapter oder anderen Klassen. Ich habe unterhalb dieser Recycler-Ansicht eine Textansicht zum Testen angebracht und sie wird ohne Recycler-Ansicht angezeigt.Recycler-Ansicht wird nicht angezeigt. Es zeigt mir den Fehler als E/RecyclerView: Kein Adapter angeschlossen; Layout überspringen
Ich übergebe nur ein String-Array mit zwei Werten als Parameter an die Adapterklasse.
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);
}
}
Hier ist die Adapterklasse.
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);
}
}
}
Posten Sie Ihre Code für Adapter-Klasse als auch –
http://www.android-examples.com/android-simple-recyclerview-example-tutorial/ –
Zuerst sollten Sie die doppelte RecyclerView-Initialisierung entfernen. Sie tun es zweimal, einmal in 'initializeRecyclerView' danach später in' onCreateView() ' – Opiatefuchs