ArrayList добавить не работает в Android - PullRequest
0 голосов
/ 27 мая 2018

Это мой код.Onooltuud является ArrayList.Я получаю данные Firebase, затем добавляю onooltuud arrayList.Но arrayList size 0. Осторожно, входящие данные из Firebase.Помогите мне.

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

этот мой код onoolts добавить не работает

1 Ответ

0 голосов
/ 27 мая 2018

Это говорит о том, что size() вашего Arraylist объекта onooltuud равен нулю (= 0), потому что вы никогда ничего не добавляете к нему.Вы объявили свой ArrayList следующим образом:

ArrayList<String> onooltuud = new ArrayList<String>();

И когда вы добавляете элементы, вы используете другое имя:

onoolts.add(onoolt.getOnooltDugaar());

Имена не соответствуют: onooltuud vs onoolts .

Удалить эту строку:

onoolts.add(onoolt.getOnooltDugaar()); 

и поставить эту строку:

onooltuud.add(onoolt.getOnooltDugaar());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...