简体   繁体   中英

ArrayList add not working in android

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

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());

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM