在Android中未保存公共int的值
所以我调用了一个名为ext method(s)的方法,在这个方法的末尾,int n无法保存它的值,int n已经被公开定义在Android中未保存公共int的值,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,所以我调用了一个名为ext method(s)的方法,在这个方法的末尾,int n无法保存它的值,int n已经被公开定义 void extMethod(String s){ DatabaseReference db99 = firebaseDatabase.getReference(s); db99.addListenerForSingleValueEvent(new ValueEventListener() { @Override public
void extMethod(String s){
DatabaseReference db99 = firebaseDatabase.getReference(s);
db99.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
temp = dataSnapshot.child("sList").getValue().toString();
n = 0;
lm = temp.split(",");
for (e = 0; e <= lm.length - 1; e++) {
if (lm[e].equals(tData[7])) {
n = 1;
showToast("if "+lm[e]+"="+tData[7]);
} else {
showToast("else "+lm[e]+"="+tData[7]);
n1 = 2;
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
void extMethod(字符串s){
DatabaseReference db99=firebaseDatabase.getReference;
db99.addListenerForSingleValueEvent(新的ValueEventListener()){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
temp=dataSnapshot.child(“sList”).getValue().toString();
n=0;
lm=温度拆分(“,”);
对于(e=0;e是否确定在此条件下输入代码以设置n值,并且为temp分配了任何值?请尝试应用日志并进行调试then@UsmanRana,尝试了所有操作、日志、toast以及将值写入存储中的文件的方法,在OnDataChange之后,值立即更改为0,临时更改为null:|尝试将它们设置为静态变量以确保不重写值somewhere@UsmanRana同样尝试过,唯一有效的方法是,如果我在OnDataChange方法本身内部执行所有操作,奇怪的是,我有基于此示例的其他4个方法,这些方法似乎可以毫无问题地工作:|在设置其值之前检查快照是否为null如果(dataSnapshot!=null){temp=dataSnapshot.getValue..},则为temp.like..if(dataSnapshot!=null){temp=dataSnapshot.getValue..}