gpt4 book ai didi

android - Firebase 在 Android 中以编程方式获取子值索引

转载 作者:太空狗 更新时间:2023-10-29 16:15:34 25 4
gpt4 key购买 nike

有什么方法可以在 Android 中获取 Firebase 的子元素的索引?不幸的是我没有 10 个声誉所以我会在这里张贴我的照片:http://gyazo.com/70d095cfac4fa92ea344e137fa44ef6d

我想要的是以某种方式获取某个子项中的值的数量以使用索引循环:

//For loop/Iterator to get value to store in an array
FireBase.child("Europe").child("Albania").child("answers).child(i).getValue();

最佳答案

我自己找到了想要的答案。

private int i = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Firebase.setAndroidContext(this);
Firebase myFirebaseRef = new Firebase("https://<your_firebase>/");
myFirebaseRef.child("Europe").child("Albania").child("answers").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Iterator<DataSnapshot> iterator = dataSnapshot.getChildren().iterator();
int length = (int) dataSnapshot.getChildrenCount();
String[] sampleString = new String[length];
while(i < length) {
sampleString[i] = iterator.next().getValue().toString();
Log.d(Integer.toString(i), sampleString[i]);
i++;
}
}

@Override
public void onCancelled(FirebaseError firebaseError) {

}
});
}

“i”是您开始的索引,在本例中为 0。

DataSnapshot.getChildren().iterator();

返回一个

Iterator<DataSnapshot>

然后我创建了长度为 endIndex 并通过 while 循环循环它。然后我创建了一个 String 数组并添加了 child 的所有值

iterator.next().getValue().toString();

因为我的对象是字符串。

关于android - Firebase 在 Android 中以编程方式获取子值索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28776679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com