我的项目在strings.xml中使用类似于:
的字符串声明<string name="file_size">File Size (%1$dMB)</string>
在我的代码中,我正在使用
getResources().getString(R.string.file_size, getFileSize());
getFileSize()返回long。林特给了我这个错误:
“file_size中格式化参数'#1'的参数类型错误:转换为'd',接收时间长(方法调用中的参数#2)”
这里发生了什么? Android文档说:
答案 0 :(得分:2)
看起来像lint规则中的错误。请参阅StringFormatDetector
的来源:
// Numeric: integer and floats in various formats
case 'x':
case 'X':
case 'd':
case 'o':
case 'e':
case 'E':
case 'f':
case 'g':
case 'G':
case 'a':
case 'A':
valid = type == Integer.TYPE
|| type == Float.TYPE;
break;