如何以编程方式引用所需的值文件夹?

时间:2014-07-08 09:00:10

标签: android locale

我知道android根据语言环境选择合适的values文件夹。但我想从代码中自己选择它。

 <com.example.typefacetest.CustomTextView
        android:id="@+id/banglaTextView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        custom:banglaText="@string/hello_world"
        android:text="@string/hello_world"
         />

在我的values-bn文件夹中,我有一个名为hello_world的字符串文字,用于属性custom:banglaText。如果我没有设置语言环境,android将不会选择values-bn文件夹。现在我想以编程方式从该文件夹中提取字符串。怎么做?

1 个答案:

答案 0 :(得分:0)

你可以使用这个:ResourceBundle或写下这样的东西:

Configuration configuration = getResources().getConfiguration();
configuration.locale = new Locale("en");
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
Resources resources = new Resources(getAssets(), metrics, configuration);
String string = resources.getString(id);

在id中你应该从strings.xml中输入字符串的id。