我能在android中动态创建string.xml文件吗?

时间:2014-11-19 10:08:39

标签: android android-activity

我想在我的应用程序中实现“设置”部分,我想要 当用户选择任何一个字符串时 string.xml将根据用户选择更改其值。 这有可能吗?关于如何实施它的任何想法?

2 个答案:

答案 0 :(得分:1)

您无法动态创建strings.xml。

但您可以执行以下操作: 使用HashMap字符串创建StringManager.java。 将用户定义的值存储在此映射中作为键/值对。密钥可以是strings.xml中的原始字符串

public String getString(int key){ *检查字符串是否在地图中 *如果不在map中:返回键的值,(例如:getResources()。getString(resId)),用户很高兴 * if key存在时返回用户定义的值 }

//从“设置”部分调用此方法 setString(int key,String value){  // key是在strings.xml中定义的字符串,value是用户定义的值。 }

您还必须实施某种保存/加载方法才能永久更改。

每当有用户可以更改的文本字段时,您必须设置如下文本:

someTextField.setText(stringManagerObject.getString(渣油));

答案 1 :(得分:0)

strings.xml用于将字符串变量存储为硬编码。

它不能动态更改.string.xml的目的是变量的可重用性。所以,layout.xml中的直接硬编码并不好(即使它可能会提高应用程序的速度)

如果要在应用程序中实施设置,请转到Android共享首选项。 Here就是一个很好的例子。