E/RecyclerView: No adapter attached; skipping layout error in Andorid studio.
If you have this error:-
E/RecyclerView: No adapter attached; skipping layout
Or
recyclerview No adapter attached; skipping layout.
- Solution
IF your code looks like this.
RecyclerView recyclerView = view.findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
recyclerView.setHasFixedSize(true);
recyclerView.setAdapter(mRecycleAdapter);
mHistoryViewModel = ViewModelProviders.of(this).get(HistoryViewModel.class);
mRecycleAdapter = new RecycleAdapter(getActivity());
Change to this Code Down Below.
RecyclerView recyclerView = view.findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
recyclerView.setHasFixedSize(true);
mHistoryViewModel = ViewModelProviders.of(this).get(HistoryViewModel.class);
mRecycleAdapter = new RecycleAdapter(getActivity());
recyclerView.setAdapter(mRecycleAdapter);
You have to wirte recyclerView.setAdapter(mRecycleAdapter);
Below the mRecycleAdapter = new RecycleAdapter(getActivity()); Also.
Sir i have same problem like you, and this is my code :
ReplyDeletepublic View onCreateView(@NonNull final LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_home, container, false);
addPost = view.findViewById(R.id.addPostBtn);
FirebaseAuth = firebaseAuth.getInstance();
addPost.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getActivity(), AddPostActivity.class);
startActivity(intent);
}
});
//recyclerview and its properties
recyclerView = view.findViewById(R.id.postRecyclerview);
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
//show newest post first, for this load from last
layoutManager.setStackFromEnd(true);
layoutManager.setReverseLayout(true);
//set Layou to recyclerview
recyclerView.setLayoutManager(layoutManager);
//init postList
postList = new ArrayList<>();
loadPosts();
return view;
}
private void loadPosts() {
//path of all posts
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Posts");
//get all data from this ref
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
postList.clear();
for (DataSnapshot ds: dataSnapshot.getChildren()){
ModelPost modelPost = ds.getValue(ModelPost.class);
postList.add(modelPost);
//adapter
adapterPosts = new AdapterPosts(getActivity(), postList);
//set Adapter to recyclerview
recyclerView.setAdapter(adapterPosts);
adapterPosts.notifyDataSetChanged();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
//in case of error
Toast.makeText(getActivity(), ""+databaseError.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
i need your help please, thank you...
please solve my error too at the given link
ReplyDeletehttps://stackoverflow.com/questions/61537064/recyclerview-no-adapter-attached-skipping-layout-tried-the-solutions-on-stackov