【问题标题】:Getting the names of items from firebase从 firebase 获取项目的名称
【发布时间】:2020-05-07 22:27:16
【问题描述】:
FirebaseStorage storage;
StorageReference downloadRef;
StorageReference listRef;
Object Downloads;
ArrayList<String> arrayList;
ArrayAdapter arrayAdapter;
ListView listView;

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

    listView = findViewById(R.id.listView);
    arrayList = new ArrayList<>();

    listRef = storage.getInstance().getReference("Project");
    listRef.listAll().addOnSuccessListener(new OnSuccessListener<ListResult>() {
        @Override
        public void onSuccess(ListResult listResult) {
            for (StorageReference items : listResult.getItems()) {
                arrayList.add(items.getName());
            }
        }
    });

    arrayAdapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, arrayList);
    listView.setAdapter(arrayAdapter);

}

所以我是 android 新手,这就是我试图获取文档名称的方法,以便可以使用 listView 显示它们。我哪里错了?

【问题讨论】:

  • 你没有做错。 Firebase 存储中有文件夹吗?也许你的参考是错误的。
  • @KasımÖzdemir 所以我添加了一个文件夹并尝试了这种方式,我还注意到它永远不会进入 for 循环。我已经更新了代码部分。
  • 如果您在onSuccess 中放置Log.i("STORAGE", listResult.getItems().size()) 语句,它会在logcat 输出中打印什么?
  • 您的代码是正确的。我认为,存在规则问题。你认证了吗?
  • @FrankvanPuffelen I/STORAGE: 2

标签: android firebase firebase-storage


【解决方案1】:

您的 onSuccess 似乎被调用了,这意味着您从 Firebase 获取了文件列表。

最有可能发生的情况是您正在正确处理此列表,但没有告诉适配器您已更改其数据。要告诉适配器其数据已更改,请在其上调用 notifyDataSetChanged

listRef.listAll().addOnSuccessListener(new OnSuccessListener<ListResult>() {
    @Override
    public void onSuccess(ListResult listResult) {
        for (StorageReference items : listResult.getItems()) {
            arrayList.add(items.getName());
        }
        arrayAdapter.notifyDataSetChanged();
    }
});

此时适配器将重新绘制关联的视图,并且您的数据应该会显示出来。

【讨论】:

  • 这解决了我的问题,我的列表现在可见,非常感谢!
猜你喜欢
  • 2017-10-20
  • 2021-10-18
  • 1970-01-01
  • 2019-05-11
  • 1970-01-01
  • 1970-01-01
  • 2020-03-02
  • 2023-03-05
  • 2013-04-13
相关资源
最近更新 更多