【发布时间】:2019-08-20 10:16:17
【问题描述】:
build.gradle(模块):
productFlavors {
mytest {
...
buildConfigField "boolean", "SHORT_ENUM", "false"
}
mysecondtest {
buildConfigField "boolean", "SHORT_ENUM", "true"
}
在 MyClass 中,我想根据我定义的 buildConfigField 在构建期间定义枚举成员:
public class MyClass {
// members initialization
public enum MYENUM {
if (BuildConfig.SHORT_ENUM) {
FIRST(0),
SECOND(1);
}
else { // SHORT_ENUM is false
FIRST(0),
SECOND(1),
THIRD(2),
FORTH(3);
}
private int value;
MYENUM(int v) {
value = v;
}
}
....
}
但它不起作用。有可能做我想做的事吗?如果是,那么如何?
【问题讨论】:
-
只是一个问题,但是根据您的示例,为什么不将其存储为 boolean ?还是您特别想存储和检索枚举?
-
但是我将如何根据布尔值定义枚举?能给我看看吗?
-
如果你想要枚举的动态值,你可以创建泛型函数,它会根据这个条件返回类型。
标签: java android build.gradle android-build android-buildconfig