3

私は宣言しました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()メソッドはありません。

4

5 に答える 5

12

このようにしてみてください

String temp = getResources().getString(R.string.Please);
于 2012-04-11T06:49:05.787 に答える
8

文字列を静的に設定することはできず、実行時に変更することもできません。やりたいことは次のようなものです

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

タイトルを日付として設定しようとしていますよね?

2 つのタイトルを持つには少し難しいです。最初にレイアウトが必要です。これを 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);

これで、2 つの 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);
于 2012-04-11T07:32:40.740 に答える
5

これを試して。

String value = getResources().getString(R.string.Please);
于 2012-04-11T06:50:53.553 に答える
2
 String str = getResources().getString(R.string.Please);
于 2012-04-11T06:49:22.837 に答える
1

文字列リソースはビューではありません。文字列リソースを使用するには、次のようにします

@string/Please
于 2012-04-11T06:48:38.060 に答える