如何使用 String.format()?

发布于 2024-12-10 23:19:05 字数 533 浏览 2 评论 0原文

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

%1$s days ago

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

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

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

问题是 daysSincePost 的值从未出现在我的列表视图中!相反,我得到“几天前”。

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

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

I have the following string in my resources:

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

I'm using it like so in my list adapter:

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

I've verified that Long.toString() returns the correct value that I want to display.

The problem is that the value of daysSincePost never appears in my list view! Instead, I get "days ago".

Am I using String.format() incorrectly?

I've tried using "%1$d days ago" and using the Long value directly, with no change.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

醉态萌生 2024-12-17 23:19:05

我想你想要这个:

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

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

I think you want this:

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

Long.toString(daysSincePost) has an index of '0' instead of '1'.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文