diadia

興味があることをやってみる。自分のメモを残しておきます。

strings.xmlの内容を表示する方法

TextViewに文字列を表示させる方法

TextViewに文字列を表示させる場合には、画面の表示を担当するxmlにTextViewを配置する。そしてTextviewに表示したい内容をstrings.xmlで決めてあげると表示することができる。.ktファイルは今回はイジる必要がない。.ktファイルはdjangoでいうviews.pyのようなものだと考えていたが、イベントに対するロジックを記述するものだと今は理解している。

res/layout/activity_main.xml

<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="matc_parent"
    android:layout_height="match_parent"
    android:text="@string/tv_number1"/>
res/values/strings.xml

<string name="tv_number1">テストケース1</string>

上記のように記述するとactivity_main.xmlがテンプレートの役割を果たし、テンプレート上のTextViewに"テストケース1"が表示される。
この手法はTextViewに限らず、Buttonやその他画面部品(ビュー)でも使うこと事ができる。

リストを表示させることは出来ない

上記の方法ではリスト系のデータは表示することが出来ない。リスト型のデータとはListViewやSpinner(ドロップダウンリスト)を指す。リスト型のデータを表示させるにはstrings.xmlとactivity_main.xmlのような画面ファイルで多少変わったように書く。

res/layout/activity_main.xml

<ListView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="matc_parent"
    android:layout_height="match_parent"
    android:entries="@array/lv_number2"/>
res/values/strings.xml

<string-array name="number2">
    <item>ノート </item>
    <item>鉛筆 </item>
    <item>ボールペン </item>
    <item>メモ帳 </item>
</string-array>

リスナの一覧は以下を見ればわかる。
https://developer.android.com/reference/kotlin/android/view/View#nestedclasses