【问题标题】:ListView does not show data from firebaseListView 不显示来自 firebase 的数据
【发布时间】:2018-08-26 18:21:48
【问题描述】:

我想从 firebase 检索数据以显示在 ListView 中,但是当我运行应用程序时,ListView 不显示任何数据。我看到 ListView 但没有数据。你能告诉我为什么,我能做什么?当我尝试使用微调器时,我遇到了同样的问题。

public class CitiesList extends AppCompatActivity {

DatabaseReference databasePaths;
private ListView ListViewCities;
private ArrayList<String> ArrayListCities;
private ArrayAdapter<String> adapterCities;
Paths info;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_cities_list);

    ListViewCities = (ListView) findViewById(R.id.ListViewCities);
    ArrayListCities = new ArrayList<>();

    databasePaths = FirebaseDatabase.getInstance().getReference("Paths");

    databasePaths.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            for (DataSnapshot items: dataSnapshot.getChildren())
            {
                info = items.getValue(Paths.class);
                ArrayListCities.add(info.city);

            }

            adapterCities = new ArrayAdapter<>(CitiesList.this, android.R.layout.simple_list_item_1);
            ListViewCities.setAdapter(adapterCities);

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });




}}

【问题讨论】:

  • 你如何将 ArrayListCities 发送到列表视图?
  • 那是我的错,非常感谢。

标签: android firebase listview firebase-realtime-database


【解决方案1】:

您需要为适配器设置新列表,您当前的代码中没有这样做。修改下一行

adapterCities = new ArrayAdapter<>(CitiesList.this, android.R.layout.simple_list_item_1);
ListViewCities.setAdapter(adapterCities);

作为

adapterCities = new ArrayAdapter<>(CitiesList.this, android.R.layout.simple_list_item_1, ArrayListCities);
ListViewCities.setAdapter(adapterCities);

附带说明,请尽量遵循编码风格指南。

【讨论】:

    【解决方案2】:

    您需要将 TextView 传入适配器,适配器将从那里设置数据。

    所以在R.layout.XXXX之后,需要通过: android.R.id.text1

    【讨论】:

      猜你喜欢
      • 2021-07-10
      • 2021-02-27
      • 1970-01-01
      • 2021-09-20
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      相关资源
      最近更新 更多