我定义了全局变量名String str[]
。在此方法中有一个方法名称getMessageArray,其类型为String[]
,库(jar)文件中还有另一个覆盖void方法。我的目的是从getMessageArray
返回以覆盖方法填充的String数组,但是当我调试时,我得到null
代码。在技术上是否有任何方法来解决这个问题?
我需要这个用于使用firebase的目的。
public String[] getMessageArray(){
Firebase ref = new Firebase(firebaseUrl);
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
long strLength;
strLength = dataSnapshot.getChildrenCount();
str = new String[(int) strLength];
int i = 0;
for (DataSnapshot iterator : dataSnapshot.getChildren()) {
str[i]=iterator.child("message").getValue().toString();
i++;
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
System.out.println("The read failed: " + firebaseError.getMessage());
}
});
return str;
}
我的问题是如何存储已填充的数据,并将其作为带有值的数组返回上面的示例