Kotlinを使って、Androidアプリの画面に文字(テキスト)を表示する方法について説明します。 文字表示には、TextViewクラスもしくはTextViewタグを用います。
java/com/example/MainActivity.kt
package com.example.sample
import android.app.Activity
import android.os.Bundle
import android.widget.TextView
class MainActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
res/layout/activity_main.xml(レイアウトXML)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text"
android:text="@string/message"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
</LinearLayout>
res/values/strings.xml
<resources>
<string name="message">表示したいテキスト</string>
</resources>

目次
前提条件
今回説明する手順は、以下を前提に説明します。
- 「Kotlin」のコードを読めること。
- 「Android Studio プロジェクト新規作成 (Windows編)」が実施されていること。
動作確認端末
- Android Studio 3.3
- Nexus 5X API 28(Android9.0) – Androidエミュレータ
TextViewの概要
- TextViewは、画面に文字(テキスト)を表示するためのAPIです。
- TextViewは、クラスもしくは(レイアウトXMLで利用できる)タグとして利用することができます。
- TextViewクラスは、Viewクラスを継承しているためViewクラスのメソッドを利用することができます 。
- TextViewタグは、Viewタグで利用可能な属性を利用することができます 。
TextViewの使い方
文字を表示する(TextViewタグ)
- TextViewタグのandroid:text属性には、表示させたい文字内容を設定します。
- 文字内容の設定には、strings.xmlに定義したリソースIDを用います。
- 例えば、以下のように文字内容をstrings.xmlに定義します。
strings.xmlで文字内容を定義
<resources>
<string name="message">表示したいテキスト</string>
</resources>
- 次にandroid:text属性に対して、定義した文字のリソースIDを以下のように記述します。
TextViewタグで文字を表示する
<TextView
android:id="@+id/text"
android:text="@string/message"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
- すると以下のように文字が表示されます。

- android:text属性には、表示したい文字列を直接記述することもできます。
android:text属性に文字列を直接記述することもできる
android:text="表示したいテキスト"
表示したい文字列をandroid:text属性に直接記述することは非推奨ですので、
このような記述方法はなるべく避けるべきでしょう。
- 画面を開いたと同時に文字を表示したい場合は、TextViewタグを用いた方法を利用するとよいでしょう。
文字を表示する(TextViewクラス)
- TextViewクラスを使って文字を表示するためにはいくつかの方法があります。
- 1つ目の方法は、textプロパティを使う方法です。
- まずは、レイアウトXMLで定義したTextViewオブジェクトを取得します。
文字設定対象のTextViewを取得する
setContentView(R.layout.activity_main)
val textView: TextView = findViewById(R.id.text)
- 次に、さきほど取得したTextViewオブジェクトのtextプロパティに表示したい文字列を設定します。
textプロパティを使って文字表示する
textView.text = "変更したテキスト"
- すると以下のように文字が表示されます。

- 2つ目の方法は、setText()メソッドを使う方法です。
- setText()メソッドには、表示したい文字列のリソースIDを引数として渡します。
setText()メソッドを使って文字表示する
textView.setText(R.string.message)
- すると以下のように文字が表示されます。

-
表示中の文字を後から変更したい場合(※)は、TextViewクラスを用いた方法を利用するとよいでしょう。
- ※ 何かしらの処理実行後、成功・失敗の結果を表示したい場合など
参考情報
本リファレンス内容は、以下を参考にしています。
- TextView | Android Developers(https://developer.android.com/reference/kotlin/android/widget/TextView)