我有与 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/