Reputation: 19
This my code. onooltuud is an ArrayList
. I get datas Firebase then add the onooltuud arrayList. But arrayList size 0. Caution incoming data from Firebase. Help me.
public class OnooltActivity2 extends AppCompatActivity implements View.OnClickListener {
ArrayList<String> onooltuud = new ArrayList<String>();`
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.onoolt_activity_2);
save = (Button) findViewById(R.id.save);
database = FirebaseDatabase.getInstance();
ref = database.getReference("db").child("davaa").child(String.valueOf(davaaniiNo) + "-iinDavaa");
Query query = ref.orderByChild("onooltDugaar");
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
int temp = (int) dataSnapshot.getChildrenCount();
Log.i("count", String.valueOf(temp));
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
Log.i("snapshot", snapshot.getValue().toString());
Onoolt onoolt = snapshot.getValue(Onoolt.class);
onoolts.add(onoolt.getOnooltDugaar());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(OnooltActivity2.this, "Датаг уншиж чадсангүй: " + databaseError.getCode(), Toast.LENGTH_SHORT).show();
}
});
Log.i("testSize:", String.valueOf(onoolts.size()));
this my code onoolts add not working
Upvotes: 0
Views: 818
Reputation: 2943
It says that the size()
of your Arraylist
object onooltuud
is zero (= 0) because you never add anything to it. You declared your ArrayList
like that:
ArrayList<String> onooltuud = new ArrayList<String>();
And when you add elements you use a different name:
onoolts.add(onoolt.getOnooltDugaar());
The names do not correspond: onooltuud vs onoolts.
Delete this line:
onoolts.add(onoolt.getOnooltDugaar());
and put this line:
onooltuud.add(onoolt.getOnooltDugaar());
Upvotes: 1