Java 检查BitmapDescriptor是否为空
我想检查空值 该文件适用于以下国家: 返回 从资源加载的BitmapDescriptor,如果加载失败,则为nullJava 检查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()。这可能就是检测不存在资
尽管如此,我无法捕获处于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...
}