3

我是 Android 和 Stack Overflow 的新手。我已经开始开发 Android 应用程序,我想知道两件事:

1) 是否可以对 TextView 进行参数化?假设我想呈现一条文本消息,其中说明如下内容:“用户年龄为 38 岁”。让我们假设用户年龄是算法的结果。使用一些典型的 i18n 框架,我会在 i18n 文件中写入类似“用户年龄为 {0}”的内容。然后在运行时我会相应地填充参数。我一直无法弄清楚如何在 Android 中执行此操作或类似方法。

2) 假设我有一个包含许多字段的复杂对象。例如:具有 id、姓名、年龄、国家、最喜欢的视频游戏等的 PersonModel。如果我想在我的一个活动中将所有这些信息呈现到一个布局中,我发现的唯一方法是通过 id 获取所有需要的 TextView,然后通过代码一个一个地填充它们。我想知道是否有一些映射/绑定机制可以在其中执行类似的操作:render(myPerson, myView) 并且通过反射自动将每个模型属性映射到每个 TextViews。如果有人曾经使用过 SpringMVC,我正在寻找与他们的机制类似的东西来将域对象/模型映射到视图(例如 spring:forms)。

非常感谢您的帮助。希望这对其他人有用=)再见!

4

1 回答 1

2

回答#1:你想要String.format()。它会让你做类似的事情:

int age = 38;
String ageMessage = "The user age is %d";
myTextView.setText(String.format(ageMessage, age));

您最常使用的两个是%d数字和%s字符串。如果您知道它,它会使用 printf 格式,如果您不知道,Formatter文档中有一个快速教程。

对于#2,我认为您正在以最好的方式做到这一点(抓取视图挂钩并手动填充它们)。如果您遇到其他任何事情,我很乐意看到它。

于 2010-02-12T07:22:47.337 回答