How do I fix "E/RecyclerView: No adapter attached; skipping layout"?
I have a problem the code gives this error and, as a result, does not draw anything on the screen:
E/RecyclerView: No adapter attached; skipping layout
Here is my code:
package com.nikita.mozhaev.partyup.messaging;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.view.View;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import com.nikita.mozhaev.partyup.R;
import com.nikita.mozhaev.partyup.system.Adapter.UserAdapter;
import com.nikita.mozhaev.partyup.system.Model.User;
import java.util.ArrayList;
import java.util.List;
public class DisplayUsers extends AppCompatActivity {
private RecyclerView recyclerView;
private UserAdapter userAdapter;
private List<User> mUser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_users);
recyclerView = findViewById(R.id.users);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
recyclerView.setAdapter(userAdapter);
mUser = new ArrayList<>();
readUsers();
}
private void readUsers() {
FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
mUser.clear();
for (DataSnapshot datasnapshot : snapshot.getChildren()){
User user = datasnapshot.getValue(User.class);
assert firebaseUser != null;
assert user != null;
if (!user.getId().equals(firebaseUser.getUid())){
mUser.add(user);
}
}
userAdapter = new UserAdapter(getBaseContext(), mUser);
recyclerView.setAdapter(userAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
}
0
Author: nikita_ game, 2021-01-21