file.exists()始终为假,检查可绘
问题描述:
时,我几乎花了整整一天找到以下问题的解决方案:file.exists()始终为假,检查可绘
Uri uri = Uri.parse("android.resource://de.test.app/" + R.drawable.ic_tab_artists_grey);
File file2 = new File(uri.getPath());
Boolean fileexists = file2.exists();
FILEEXISTS从未retruns true值。有什么错误吗?
问候
参孙
首先感谢你的快速解答,
我的问题是,下面的代码
Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW);
myIntent.setData(Uri.parse("android.resource://de.test.app/" + R.drawable.ic_tab_artists_grey));
myIntent.setType("image/png");
startActivityForResult(myIntent, 1);
创建错误:
Unable to start Activity ComponentInfo{com.android.gallery/com.android.camera.ViewImage}: java.lang.nullPointerException
我想这会发生,因为该文件不存在。我的setData路径错了吗?
答
当您搜索文件时,不能使用R.java文件中的ID。 R.drawable.ic_tab_artists_grey
只是一个表示索引的数字的android常量,不会是文件名。
在任何情况下,您都不需要检查drawable是否存在。您的可绘制目录中包含的任何内容都会在您的应用程序旁边加载到APK中。
你为什么要检查drawable是否存在?可绘制将始终包含在您的.apk –
我想测试它进行某种调试,因为我试图在Android图像查看器中打开带有内部版本的图像,但是每次出现错误时,都会出现NullPointer被转发到图像查看器应用程序。 – Samson
看看我的答案,不能用'R.drawable.ic_tab_artists_grey'替换文件名。 –