使用 StringDef/TypeDef android 中的资源字符串值

use resourse string value in StringDef/TypeDef android

我有一个 stringDef/TypeDef class 如下

public class Codes {
      public static final String Code_1 = "Code1";
      public static final String Code_2 = "Code2";
      public static final String Code_3 = "Code3";


      @Retention(RetentionPolicy.SOURCE) @StringDef({
            Code_1, Code_2, Code_3 })

      public @interface CodesMessageDef {
      }
}

我想从 R.String.code_1 设置 Code_1,2,3 的值,而不是手动输入。

有没有办法实现这个用例。

提前致谢......

您可以阅读 this answer 了解如何从静态方法获取应用程序上下文。请注意,使用它来获取上下文不是内存泄漏,因为您正在使用应用程序上下文。

现在您可以:

public static final String Code_1 = MyApplication.getAppContext().getString(R.id.code1);
public static final String Code_2 = MyApplication.getAppContext().getString(R.id.code2);
public static final String Code_3 = MyApplication.getAppContext().getString(R.id.code3);

我想应该可以。