在strings.xml中使用long值时,Lint给出"格式错误类型"

Dap*_*app 5 java android lint

我的项目在strings.xml中使用字符串声明,类似于:

<string name="file_size">File Size (%1$dMB)</string>
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我正在使用

getResources().getString(R.string.file_size, getFileSize());
Run Code Online (Sandbox Code Playgroud)

其中getFileSize()返回long.林特给我这个错误:

"在file_size中格式化参数'#1'的参数类型错误:转换为'd',接收时间长(方法调用中的参数#2)"

这里发生了什么?Android文档说:

在此输入图像描述

mat*_*ash 3

看起来像是 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;
Run Code Online (Sandbox Code Playgroud)