【发布时间】:2017-12-14 07:50:25
【问题描述】:
我想列出我从FireBase 获得的一些用户数据,例如姓名、年龄、性别和生日。我有一个FireBase 侦听器,每次更改数据库时都必须刷新列表。
这就是我向适配器发送数据的方式
private void list(String Name){
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mUser);
mListView.setAdapter(arrayAdapter);
mUser.add(Name,Age,Gender,Birthday);
arrayAdapter.notifyDataSetChanged();
}
这是我要列出的布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textNameList"
android:textSize="25dp"
android:textAlignment="textStart"
android:text="Name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:layout_margin="10dp"/>
<TextView
android:id="@+id/textAgeList"
android:textSize="15dp"
android:textAlignment="textStart"
android:text="Age"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:layout_margin="10dp"/>
<TextView
android:id="@+id/textBirthdayList"
android:textSize="15dp"
android:textAlignment="textStart"
android:text="Birthday"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:layout_margin="10dp"/>
<TextView
android:id="@+id/textGenderList"
android:textSize="15dp"
android:textAlignment="textStart"
android:text="gender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start"
android:layout_margin="10dp"/>
</RelativeLayout>
如果可能的话,我也想列出数据库中的图片。
【问题讨论】:
-
使用 addValueEvent 监听器,它将监听该节点
ref.addValueEventListener(new ValueEventListener() {}中发生的所有更改 -
谢谢,但问题是 ListView 适配器显示数据
-
你必须在外面初始化这个
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mUser); mListView.setAdapter(arrayAdapter);,并且只有数据库中的新值添加到列表mUser.add(Name,Age,Gender,Birthday);然后设置arrayAdapter.notifyDataSetChanged(); -
但我想在一行中显示单个用户的所有详细信息(姓名、年龄、性别、生日),这样它在每一行中显示一个详细信息,我需要一个自定义适配器允许我显示多个字符串。
标签: android listview firebase firebase-realtime-database adapter