android:为xml元素分配一个常量值

我正在编写一个Android应用程序。 我坚持使用xml-layout。 是否可以使用类中定义的variables(常量)为xml-tag赋值?

我有一个名为Constants.java的类用于我的所有程序常量。 我这样做是为了更好的可维护性。 现在我想使用其中一个常量,例如下面定义的VAL作为ui-widged的值。

public class Constants { public static final int VAL = 10; ... } 

在我的情况下,小部件是一个进度条(水平样式),我想定义“android:max”值。 通常可以写:

 android:max="10" android:max="@Integer/val 

但我想使用我的Constants类中定义的值,如:

 android:max="Constants.VAL" 

有解决方案吗?

谢谢

不,你不能。 类中的常量值仅在运行时可用,并且XML文件在运行时之前编译和生成。

下一个要做的事情是声明要在res/values/integers.xml使用的XML常量。 这是一个示例integers.xml文件:

   10  

要在XML中使用此值,请执行以下操作:

  

可以使用数据绑定 。

该类应如下所示:

 class Constants extends BaseObservable { private static final int MY_INT = 10; @Bindable public int getMyInt() { return MY_INT; } } 

和像这样的xml:

     ...  
  • 不要忘记设置绑定本身( binding.setConstants(constants) )。

你的问题不是很清楚,你想用它做什么? 如果要使用常量值,则只需使用常量创建ui-widgets,然后忽略xml。