RecyclerView中未调用RecyclerAdapter重写方法(OnBindViewHolder和onCreat



我正在尝试调试我的代码,而我的回收器视图没有显示任何内容。我试图将2个回收器视图与2个不同的适配器一起使用,因此下面的适配器代码不起作用。我尝试在上面应用日志,发现onBindViewHolder和onCreateViewHolder没有被调用。这已经困扰我一段时间了。下面是我的适配器代码。

onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return new RecordsAdapter.MyNewAdapterHolder(LayoutInflater.from(context).inflate(R.layout.records_layout,parent,false));
}
@Override
public void onBindViewHolder(@NonNull RecordsAdapter.MyNewAdapterHolder holder, int position) {
String str = PreferenceManager.getDefaultSharedPreferences(context).getString("Name", "get");
Toast.makeText(context, "str", Toast.LENGTH_SHORT).show();
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance("https://milkdiary-farmer.firebaseio.com/");
DatabaseReference databaseReference = firebaseDatabase.getReference("Users").child("Users").child("Your Records");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot childSnap : dataSnapshot.getChildren()){
String value = childSnap.getValue().toString();
Toast.makeText(context, "value", Toast.LENGTH_SHORT).show();
holder.farmername.setText(value);
holder.farmerRecord.setText(value);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
//holder.setDetails(this.recordsArrayList1.get(position));
}
@Override
public int getItemCount() {
return recordsArrayList1.size();
}

下面是我的主要活动代码

protected void onCreate(Bundle paramBundle) {
super.onCreate(paramBundle);
setContentView(R.layout.activity_main2);
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar3);
setSupportActionBar(toolbar);
toolbar.setTitle("Records");
toolbar.setTitleTextColor(-1);
getIntent().getStringExtra("username");
RecyclerView recyclerView1 = (RecyclerView)findViewById(R.id.recycler);
RecyclerView recyclerView2 = findViewById(R.id.records_recyclerview);
recordsArrayList = new ArrayList<>();
RecordsAdapter recordsAdapter = new RecordsAdapter(this,recordsArrayList);
recyclerView2.addItemDecoration(new DividerItemDecoration(this,1));
recyclerView2.setAdapter(recordsAdapter);
recyclerView2.setLayoutManager(new LinearLayoutManager(this));
recordsAdapter.notifyDataSetChanged();
this.recyclerView = recyclerView1;
recyclerView1.setLayoutManager(new LinearLayoutManager(this));
this.arrayList = new ArrayList();
this.adapter = new MyAdapter(this, this.arrayList);
this.recyclerView.addItemDecoration(new DividerItemDecoration(this, 1));
this.recyclerView.setAdapter(this.adapter);
fetch();
}

在提取数据并填充arrayList时,是否在适配器上调用了notifyDatasetChanged

最新更新