在android中, getResource()方法可用于获取在xml文件中声明的资源。像:
<resources>
<string name="sample_1">Sample 1</string>
<string name="sample_2">Sample 2</string>
<string name="sample_3">Sample 3</string>
<string name="sample_4">Sample 4</string>
<string name="sample_5">Sample 5</string>
</resources>
我希望课程中的 sample_1 文字就像:
getString(R.string.sample_1);
所以get方法可以访问它们但是set方法在哪里。我在网上搜索了很多但没有找到任何有用的东西。在运行时通过 java 设置字符串和颜色资源的方法是什么。互联网充满了这样的例子:
TextView ab = findviewbyid(........);
ab.setText("bla bla");
我不想要这个,我希望资源文件项直接改变如:
setResouces(R.color.primarycolor) to #00000
有上面的解决方案吗?
答案 0 :(得分:0)
我认为没有setResources方法。您可以通过以下方式动态获取String资源
Resources res = getResources();
String text = String.format(res.getString(R.string.sample_1));
TextView ab = findviewbyid(........);
//在string.xml中设置值
ab.setText("text");
答案 1 :(得分:0)
虽然没有这样的方法来设置资源,但您可以使用build.gradle
在运行时创建资源buildTypes {
def var = "";
debug {
var = "debug"
buildConfigField "String", "BUILD_DATE", "\"12345\""
resValue "string", "buildTime", "12345678"
}
}
在构建应用程序时,将类似的代码添加到build.gradle将创建一个字符串资源。