我如何使用String.format()?

时间:2011-10-20 20:22:50

标签: android string-formatting

我的资源中有以下字符串:

<string name="days_ago">%1$s days ago</string>

我在列表适配器中使用它是这样的:

Long daysSincePost = hoursSincePost / 24;
String display = activity.getString(R.string.days_ago);
return String.format(display, Long.toString(daysSincePost));

我已经验证Long.toString()返回我想要显示的正确值。

问题是daysSincePost的值永远不会出现在我的列表视图中!相反,我得到“days ago”。

我是否错误地使用String.format()

我尝试过使用“%1$d days ago”并直接使用Long值,没有任何变化。

1 个答案:

答案 0 :(得分:2)

我想你想要这个:

<string name="days_ago">%0$s days ago</string>

Long.toString(daysSincePost)的索引为“0”而不是“1”。