从Firebase获取孩子的名字到ListView Android的步骤如下:
dependencies {
// 其他依赖...
implementation 'com.google.firebase:firebase-database:20.0.0'
}
public class ChildrenAdapter extends BaseAdapter {
private List<String> childrenNames;
private Context context;
public ChildrenAdapter(List<String> childrenNames, Context context) {
this.childrenNames = childrenNames;
this.context = context;
}
@Override
public int getCount() {
return childrenNames.size();
}
@Override
public Object getItem(int position) {
return childrenNames.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(android.R.layout.simple_list_item_1, parent, false);
}
TextView textView = convertView.findViewById(android.R.id.text1);
textView.setText(childrenNames.get(position));
return convertView;
}
}
public class MainActivity extends AppCompatActivity {
private ListView listView;
private DatabaseReference databaseReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.listView);
// 初始化Firebase
FirebaseApp.initializeApp(this);
databaseReference = FirebaseDatabase.getInstance().getReference("children");
// 从Firebase数据库中获取孩子的名字数据
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
List<String> childrenNames = new ArrayList<>();
for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
String childName = childSnapshot.getValue(String.class);
childrenNames.add(childName);
}
// 将孩子的名字数据绑定到ListView上
ChildrenAdapter adapter = new ChildrenAdapter(childrenNames, MainActivity.this);
listView.setAdapter(adapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
// 处理取消操作的逻辑
}
});
}
}
以上代码假设你的布局文件中包含一个ListView控件,其id为"listView"。
这样,当你的应用程序运行时,它将从Firebase数据库中获取孩子的名字数据,并将其显示在ListView上。
领取专属 10元无门槛券
手把手带您无忧上云