我知道这似乎是一个愚蠢的问题,但它让我疯狂。
我想在我的祝酒词中显示folder_size
的值,但我收到错误:
Toast类型中的方法makeText(Context,CharSequence,int)是 不适用于参数(Context,long,int)
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/X ADB/");
long folder_size = getFolderSize(file);
Toast.makeText(getApplicationContext(),folder_size, Toast.LENGTH_LONG).show();
}
public static long getFolderSize(File dir) {
long size = 0;
for (File file : dir.listFiles()) {
if (file.isFile()) {
// System.out.println(file.getName() + " " + file.length());
size += file.length();
} else
size += getFolderSize(file);
}
return size;
}
}
这是我找到的解决方案,但我需要在我的吐司中添加一个我不想要的其他文字。如何删除此错误?
Toast.makeText(getApplicationContext(),folder_size+ " text", Toast.LENGTH_LONG).show();
答案 0 :(得分:2)
您也可以使用String.valueOf(long)
。
Toast.makeText(getApplicationContext(),
String.valueOf(folder_size),
Toast.LENGTH_LONG)
.show();
答案 1 :(得分:1)
您不需要在吐司中添加任何文字,只需使用空字符串附加长值
Toast.makeText(getApplicationContext(),""+folder_size, Toast.LENGTH_LONG).show();
希望这会有用
答案 2 :(得分:0)
Toast.makeText(getApplicationContext(),Long.toString(folder_size), Toast.LENGTH_LONG).show();
你可以长时间转换成没有+符号的字符串
答案 3 :(得分:0)
我会做以下事情。这是实现您想要的相当标准的方式。您需要将long转换为字符串。以下是一种非常常见的方法。
forEach