4

次のようなレイアウト xml ファイルに TextView があります。

<TextView
   android:id="@+id/viewId"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/string_id" />

私の文字列は次のように指定されています:

<string name="string_id">text</string>

Javaコードなしで「テキスト」ではなく「テキスト」を表示させることはできますか?
(文字列自体も変更せずに)

4

4 に答える 4

6

いいえ。ただし、setText をオーバーライドし、Ahmad がこのように言ったように最初の文字を大文字にして、XML レイアウトで使用する TextView を拡張する単純な CustomView を作成できます。

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;

public class CapitalizedTextView extends TextView {

    public CapitalizedTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public void setText(CharSequence text, BufferType type) {
        if (text.length() > 0) {
            text = String.valueOf(text.charAt(0)).toUpperCase() + text.subSequence(1, text.length());
        }
        super.setText(text, type);
    }
}
于 2013-09-04T22:29:59.993 に答える