【问题标题】:Null pointer exception when trying to populate spinner from firebase database尝试从 firebase 数据库填充微调器时出现空指针异常
【发布时间】:2022-06-27 21:37:09
【问题描述】:

我正在尝试在 Firebase 数据库中的 Android Studio 项目上填充微调器。但是,在尝试运行应用程序时,我遇到了空指针异常。谁能告诉我我错过了什么???

代码:

public void populateSpinner(){
        DatabaseReference db = FirebaseDatabase.getInstance().getReference();
        db.child("Collection").addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                final List<String> collections = new ArrayList<String>();

                for (DataSnapshot collectionSnapshot: dataSnapshot.getChildren()) {
                    String collectionName = collectionSnapshot.child("name ").getValue(String.class);
                    collections.add(collectionName);
                }

                Spinner areaSpinner = (Spinner) findViewById(R.id.collectionList);
                ArrayAdapter<String> areasAdapter = new ArrayAdapter<String>(AddItem.this, android.R.layout.simple_spinner_item, collections);
                areasAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                areaSpinner.setAdapter(areasAdapter);
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });
    }

Firebase 数据库图片的链接 [1]:https://i.stack.imgur.com/SCfSI.png

【问题讨论】:

  • 您在哪一行代码得到 NullPointerException?

标签: android firebase


【解决方案1】:

您的孩子name 有空间。

改变

String collectionName = collectionSnapshot.child("name ").getValue(String.class);

String collectionName = collectionSnapshot.child("name").getValue(String.class);

请确保您的child 与您的型号class 同名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多