Android SET资源文件项

时间:2016-01-14 10:02:03

标签: java android android-resources

在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

有上面的解决方案吗?

2 个答案:

答案 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将创建一个字符串资源。