Recyclerview не показывает данные. Что я делаю не так - PullRequest
0 голосов
/ 25 января 2020

Я новичок в Android. Я пытаюсь отобразить данные в представлении переработчика, но мое приложение падает по неизвестным причинам, подскажите, как я могу исправить свой код ниже

publi c Класс CheckRecordActivity расширяет AppCompatActivity {

private RecyclerView rview;
private MyAdapter adapter;
private ArrayList<Student> list;
private DatabaseReference reference;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_check_record);

    reference = FirebaseDatabase.getInstance().getReference("Student");

    rview = findViewById(R.id.recyclerview);
    list = new ArrayList<>();
    rview.setHasFixedSize(true);
    rview.setLayoutManager(new LinearLayoutManager(this));
    rview.addItemDecoration(new DividerItemDecoration(rview.getContext(), DividerItemDecoration.VERTICAL));
    adapter = new MyAdapter(this, list);
    rview.setAdapter(adapter);
    reference.addListenerForSingleValueEvent(listener);

}
ValueEventListener listener = new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        if (dataSnapshot.exists()){
            list.clear();
            for (DataSnapshot snapshot:dataSnapshot.getChildren()){

                Student s =snapshot.getValue(Student.class);
                list.add(s);
            }
            adapter.notifyDataSetChanged();
        }
        else {
            Toast.makeText(CheckRecordActivity.this, "No Record Found", Toast.LENGTH_SHORT).show();
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

        Toast.makeText(CheckRecordActivity.this, databaseError.toString(), Toast.LENGTH_SHORT).show();
    }
};

}

...