android - 如何从移动存储中查看pdf文件并通过动态 ListView 一致列出名称

标签 android pdf

我有与 JSONArray 链接的动态 listView,在适配器中我正在尝试读取存储以检查 pdf 文件是否已经下载 Button 文本将是 View 并将调用 View 方法,但如果文件不存在按钮文本将为 Download 并将调用 Download 方法。

我一直在尝试这段代码,但它不起作用

String path2 = Environment.getExternalStorageDirectory() + "/materialpdffolder/";
    File path = new File(path2);


    File list[] = path.listFiles();



     for( int i=0; i < materialList.size() ; i++)
    {
        for( int x=0; x <= list.length ; x++) {

        if (list[x].getName() != null) {
            if (list[x].getName().equals(materialList.get(position).getMaterial_file_name().toString())) {
            DVmaterial.setText("View(" + materialList.get(position).getMaterial_file_name().toString() +")" );
        }}else
        {
            DVmaterial.setText("Download(" + materialList.get(position).getMaterial_file_name().toString() + ")");
        }

        }
    }

问题是当没有文件时,应用程序是堆栈并给出错误并且没有给出 list[x].get Name() 的任何结果,当我使用 materiallist.size () for for 循环它没有给出正确的答案

最佳答案

尝试用这段代码改变

if (list[x].getName() != null) {
            if (list[x].getName().equals(materialList.get(position).getMaterial_file_name().toString())) {
            DVmaterial.setText("View(" + materialList.get(position).getMaterial_file_name().toString() +")" );
        }else
        {
            DVmaterial.setText("Download(" + materialList.get(position).getMaterial_file_name().toString() + ")");
        }
}

}}else 中删除一个括号并将其放在else 的末尾

关于android - 如何从移动存储中查看pdf文件并通过动态 ListView 一致列出名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48320552/

相关文章:

安卓开发工具包。音频管理器。 setStreamVolume 最大 int 值

java - android updateLocaleListFromAppContext NullPointerException 中的问题

php - dompdf制作页眉和页脚 "solid"

php - 使用php搜索pdf中的文本

image - 如何从扫描的pdf中提取图像

Android 在服务中使用 AsyncTaskLoader

android - 如何使用 AsyncTask,我必须在哪里放置代码行?

android - 如何更改键盘按钮 "Go"功能

c# - 使用 iTextSharp 将数字签名添加到 PDF

javascript - Angular ,Javascript : remove part of file path