如何获取子文本并在列表视图中设置

cu6pst1q  于 2021-07-12  发布在  Java
关注(0)|答案(2)|浏览(314)

我一直在尝试在我的 Jmeter 板的列表视图中获取子列表。每当我单击“用户”时,我都需要在列表视图中列出这些子项。
我的数据库

  1. ClientsRef= FirebaseDatabase.getInstance().getReference().child("Users");
  2. ClientsRef.addValueEventListener(new ValueEventListener() {
  3. @Override
  4. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  5. if(dataSnapshot.exists())
  6. {
  7. clientcount=(int) dataSnapshot.getChildrenCount();
  8. Clients.setText(Integer.toString(clientcount));
  9. }
  10. else
  11. {
  12. Clients.setText("0 Clients");
  13. }
  14. }
baubqpgj

baubqpgj1#

创建一个模型类,将所有字段作为数据库子级的字段,并按如下方式使用它
=>假设你的模型类名是users,那么。。。

  1. ClientsRef.addValueEventListener(new ValueEventListener() {
  2. @Override
  3. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  4. if(dataSnapshot.exists())
  5. {
  6. Users users=new Users(dataSnapshot.getValue());
  7. ArrayList<Users> userList=new ArrayList();
  8. userList.add(users);
  9. }
  10. else
  11. {
  12. Clients.setText("0 Clients");
  13. }
  14. }
展开查看全部
f5emj3cl

f5emj3cl2#

[1]. 只需在活动中使用recyclerview而不是textview。
[2]. 将一个字符串数组列表放入您的活动中,如

  1. ArrayList<String> childList=new ArrayList<>();

[3]. 为您的recyclerview创建一个适配器,在其中的项布局文件中只添加一个textview,您将在其中显示您的子列表。
[4]. 在oncreate()中用recyclerview设置适配器,就像下面的代码一样

  1. recyclerview.setLayoutManager(new LinearLayoutManager(this,RecyclerView.VERTICAL,false);
  2. YourAdapter adapter=new YourAdapter(this,childList) //pass your arraylist
  3. recyclerview.setAdapter(adapter);

[5]. 在ondatachange()中,进行如下更改

  1. ClientsRef.addValueEventListener(new ValueEventListener() {
  2. @Override
  3. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  4. if(dataSnapshot.exists())
  5. {
  6. for(DataSnapshot snapshot:dataSnapshot){
  7. childList.add(snapshot.getKey());
  8. }
  9. adapter.notifyDataSetChanged();
  10. }
  11. else
  12. {
  13. Clients.setText("0 Clients");
  14. }
  15. }

就这样

展开查看全部

相关问题