在android上从google云存储中查找要下载的点击项目的位置

kg7wmglp  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(334)

我目前正在尝试在列表视图中显示google云存储中特定文件夹中所有文件的文件名,并在单击文件名后下载该文件。但是,我无法在onitemclick侦听器中找到文件的位置,因此正在为listview中的每个项目下载文件夹中的最后一个项目。如何找到下载正确项目的位置?
这是我用于显示和单击项目的代码:

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

                listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                        items.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                            @Override
                            public void onSuccess(Uri uri) {
                                // Got the download URL for 'users/me/profile.png'
                                String url = items.getDownloadUrl().toString();

                                filename = items.getName();

                                DownloadFromUrl(uri);

                            }
pdtvr36n

pdtvr36n1#

如果我理解正确,你想找到一个项目的索引位置,你想下载。如果我错了,请纠正我。

arrayList.indexOf("value"); // index = 3

如果该项不存在,则返回-1。
为了得到最后一个元素,你需要这样做。

arrayList.get(arrayList.size() - 1);

相关问题