Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查BitmapDescriptor是否为空_Java_Android_Google Maps Android Api 2 - Fatal编程技术网

Java 检查BitmapDescriptor是否为空

Java 检查BitmapDescriptor是否为空,java,android,google-maps-android-api-2,Java,Android,Google Maps Android Api 2,我想检查空值 该文件适用于以下国家: 返回 从资源加载的BitmapDescriptor,如果加载失败,则为null 尽管如此,我无法捕获处于null状态的BitMapDescriptor-即使我传递的文件名不存在,fromAsset方法也不会返回null。可能是fromAsset方法不返回null,但可能返回的结果与defaultMarker()返回的结果相同。(即文件错误) 我将检查您为一个(可能不存在的)资产获取的值是“==”还是.等于defaultMarker()。这可能就是检测不存在资

我想检查空值

该文件适用于以下国家:

返回 从资源加载的BitmapDescriptor,如果加载失败,则为null


尽管如此,我无法捕获处于null状态的BitMapDescriptor-即使我传递的文件名不存在,fromAsset方法也不会返回null。

可能是fromAsset方法不返回null,但可能返回的结果与defaultMarker()返回的结果相同。(即文件错误)


我将检查您为一个(可能不存在的)资产获取的值是“==”还是.等于defaultMarker()。这可能就是检测不存在资产的方式。

我发现,与文档相反,BitmapDescriptorFactory.fromAsset(String)不会在指定资产不存在时返回null。我目前正在实施一项工作,使用AssetManager.list(“”)预加载确实存在的资产列表。然后,对于有问题的资产名称,我搜索缓存的资产列表以确定指定的资产是否存在


这是我能想到的资源密集度最低的方法,因为当资产不存在时,我不能依赖于空返回。

您试过调试它吗?我的意思是:你有没有在那一行设置断点来查看它实际返回的内容?burntsugar和我发现,使用返回的BitmapDescriptor会导致它沿着轨迹进一步爆炸,这表明虽然它是BitmapDescriptor实例,但它没有有效的位图作为支持。该类是一个“句柄”,没有任何方法。通过使用另一种方法直接加载流,然后在InputStream!=无效的这是可行的,但这是一项工作。我只能假设文件是错的。尝试加载一个不存在的资源必须足以解决以前没有获取过的问题。
    BitmapDescriptor bd = BitmapDescriptorFactory.fromAsset("markerimages/filename.png");
    if (bd == null) {
        // doSomething...
    }