如何在android中获取和设置字符串资源值

时间:2012-04-11 06:46:18

标签: android string android-resources

我已宣布String

<string name="Please">Please Select</string>
res/values/Strings.xml中的

。现在我想要访问这个String值,但我能得到的东西可以直到id不值得像:

 int i = findViewById(R.string.Please);

但我想要的只是字符串Please的价值。

感谢您的所有答案,但我的问题有点大了

我想要做的只是用app_name显示日期

从您的所有答案

我可以得到app_name字符串 但我是否可以设定 此app_name包含当前日期

<string name="app_name">My app</string>

而且我也要以这种方式设置

My app(in Left alignment)             Date (in right aligment)

并且在第一个活动开始时我想设置app_name而不是每个活动;

我认为这可能有用,让我试试

setResource().setString(R.string.Please);

但没有setResource()方法抱歉。

5 个答案:

答案 0 :(得分:10)

试试这个

String temp = getResources().getString(R.string.Please);

答案 1 :(得分:7)

你不能设置一个字符串,它的静态,并且不能在运行时更改,你想要做的是这样的

        Calendar cal = Calendar.getInstance();
        String date = cal.get(Calendar.DAY_OF_MONTH) + "/" + cal.get(Calendar.MONTH) + "/" + cal.get(Calendar.YEAR);
        setTitle(date);

您是否尝试将标题设置为日期?

要获得两个标题会更难,首先需要布局,请调用此custom_title_1

这是该布局的xml代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/screen"
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView android:id="@+id/left_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="@string/custom_title_left" />
    <TextView android:id="@+id/right_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="@string/custom_title_right" />
</RelativeLayout>

然后在您调用UI之前的代码中,您需要调用它:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

然后设置内容视图

然后调用它来设置标题:

getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_1);

现在您可以找到两个textView并设置文本:

TextView leftText = (TextView) findViewById(R.id.left_text);
TextView rightText = (TextView) findViewById(R.id.right_text);

Calendar cal = Calendar.getInstance();
String date = cal.get(Calendar.DAY_OF_MONTH) + "/" + cal.get(Calendar.MONTH) + "/" + cal.get(Calendar.YEAR);
String app_name = getString(R.string.app_name);
leftText.setText(app_name);
rightText.setText(date);

答案 2 :(得分:3)

试试这个。

String value = getResources().getString(R.string.Please);

答案 3 :(得分:1)

 String str = getResources().getString(R.string.Please);

答案 4 :(得分:0)

字符串资源不是视图。要使用字符串资源,您可以

@string/Please