我有以下字符串资源:
<string formatted="false" name="residential_search_url">https://api.trademe.co.nz/v1/Search/Property/Residential.json?latitude_min=%f%26latitude_max=%f%26longitude_min=%f%26longitude_max=%f</string>
这在Activity中使用:
String residentialUrl = task.getSearchUrl(_map.getProjection().getVisibleRegion().latLngBounds,getString(R.string.residential_search_url));
该方法定义为:
public String getSearchUrl(LatLngBounds bounds, String baseUrl){
return String.format(baseUrl,
bounds.southwest.latitude,
bounds.northeast.latitude,
bounds.southwest.longitude,
bounds.northeast.longitude);
}
我一直在:
java.util.UnknownFormatConversionException: Conversion = l''
我也尝试使用%s
代替%f
而没有任何区别。
答案 0 :(得分:0)
问题是你使用%26作为URL的一部分,而不是%f格式说明符。 %26不是有效的格式规范,因此您会收到错误消息。你需要告诉格式例程你实际上想要一个文字%字符。试试%%。
http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#syntax
答案 1 :(得分:0)
我的解决方法是使用&
来逃避&符号,而不是%26
。