3

我想知道是否可以在 android XML 布局或字符串值文件中编写 java 代码?

我的意思是这样的:

<string name="hello">Utilities.doSomething("Hello World, ActMain!")</string>
<string name="app_name">insurance</string>

4

3 回答 3

2

你试过了吗?显然,Eclipse它没有显示错误。所以答案是:

我可以在 android xml 布局或字符串值文件中编写 java 代码吗?

是是的。

但是当你执行它时你不会得到想要的功能。因此,无论如何它都是死代码。因此,最终,您可以编写它,但不能使用它。

于 2012-06-25T06:47:42.590 回答
2

可以通过以下方式从 strings.xml 运行代码(未经测试,但这样做的高级想法) 1.使用 R.string.* 从 strings.xml 获取字符串,其中 * 是字符串的名称。

2.使用任何表达式评估库来运行它。

这又是一个非常高级的想法。您必须自己弄清楚如何做到这一点。

检查 Jel 库

或查看此评估库列表

于 2012-06-25T06:57:41.707 回答
0

不,不可能在字符串 xml 或布局中编写代码并让它执行,原因很简单:

1)如果您编写的Java代码必须运行,则必须对其进行编译。2)资源被编译成不同的形式,这样android就不必每次都解析XML(昂贵的操作)。

strings.xml 的基本用途是用于国际化(即使您必须添加对多种语言的支持,您的应用程序的代码也不会改变)。IMO,没有正当理由在 XML 文件中编写 java 代码。

于 2012-06-25T06:48:34.587 回答