2010-02-12 76 views
3

我是Android和堆栈溢出的新手。我已经开始开发和Android应用程序,我想知道两件事:Android TextViews。参数化可能吗?绑定到模型可能吗?

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

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

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

回答

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我认为你正在做它最好的方式(抓取视图钩子并手动填充它们)。如果你遇到任何其他事情,我很乐意看到它。

+0

感谢兄弟,以防万一有人想知道如何在字符串我做到这一点。 \t \t viw.setText(String.format(getString(R.string.time_riding),trail.timeTraveled)); getString是所有活动都有的方法,将xml文件中的指针转换为字符串,然后我使用了什么fiXedd告诉我=) – Santiago 2010-02-18 06:24:32