Hy,我正在编写一个应用程序,它必须使用listView中项目的位置从firebase获取特定数据。我的问题是我不知道怎么把这个项目放在firebase上。
对于Torneo的所有孩子,我必须控制所有的名字。我试过这个:
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;
}
数据是一个包含我创建的getter和setter的类。 position是列表视图中元素的位置。
谢谢你的回答。
更改以下内容:
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
的值