嘿,我正在编写一个应用程序,它必须使用 listView 中项目的位置从 firebase 获取特定数据。我的问题是我不知道如何在 firebase 上使用这个项目。
对于 Torneo 的所有 child ,我必须控制所有 nameCreator。 我已经尝试过:
public Boolean RegisterUser(Data data, final int position, final Context c){
boolean registration;
final ArrayList<String> Creator = new ArrayList<>();
databaseReference.orderByChild("Tornei").equalTo(Integer.toString(position)).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
Creator.add(data.child("nameCreator").getValue().toString());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
if(Creator.equals(data.getNameCreator())){
registration = false;
}else{
registration = true;
}
return registration;
}
Data 是一个带有我创建的一些 getter 和 setter 的类。 position 是元素在 ListView 上的位置。
感谢您的回答。
最佳答案
更改以下内容:
databaseReference.orderByChild("Tornei").equalTo(Integer.toString(position)).addListenerForSingleValueEvent(new ValueEventListener() {
进入此:
databaseReference.child("Tornei").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
Creator.add(datas.child("nameCreator").getValue().toString());
if(Creator.equals(data.getNameCreator())){
registration = false;
}else{
registration = true;
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
然后您将能够循环并检索nameCreator
的值
关于java - 从特定位置从 firebase 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55773148/