java - ArrayList添加在android中不起作用

标签 java android firebase firebase-realtime-database

这是我的代码。 onooltuud 是一个 ArrayList。我获取 Firebase 数据,然后添加 onooltuud arrayList。但 arrayList 大小为 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 添加的代码不起作用

最佳答案

它表示您的 Arraylist 对象 onooltuudsize() 为零 (= 0),因为您从未向其中添加任何内容。您像这样声明了 ArrayList:

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

当您添加元素时,您使用不同的名称:

onoolts.add(onoolt.getOnooltDugaar());

名称不对应:onooltuudonoolts

删除这一行:

onoolts.add(onoolt.getOnooltDugaar()); 

并输入这一行:

onooltuud.add(onoolt.getOnooltDugaar());

关于java - ArrayList添加在android中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50553957/

相关文章:

android - 通过 adb 禁用和启用 android 触摸屏

java - android 在设备上保存非常小的数据的最佳方法

java - Android/Java 重复按钮点击

java - IntelliJ 测试失败,Gradle 测试正常 : does not recognize JSON files in 'test/resources'

java - 使用 Rhino 调用摊牌

javascript - 当我将数据推送到 firebase 实时数据库时如何更改 key

javascript - signinwithphonenumber 身份验证失败

java - 如何在Gradle中使用初始化脚本配置jacocoTestReport

Android Facebook SDK 分享对话框 : never return Completion Gesture

android - 外键 ON DELETE CASCADE 在 Android 2.2 中不起作用