[Android & Kotlin] TextViewの文字表示

Kotlinで文字列を表示させてみましょう。TexViewとViewBindingを使います。

1x1.trans - [Android & Kotlin] TextViewの文字表示


Android Studio
2024.1.1

 




TextView

 

JavaでのTextを表示させるTextViewは下のように作成しましたが、そのコードをKotlinに変えるとどうなるか試してみます。
 

textview a00 100x100 - [Android & Kotlin] TextViewの文字表示
テキストを表示するアプリです。テキストはTextViewを使います。

 

 

テキストの設定

 

文字列を表示するために、MainActivity.kt の onCreate() 以下に TextView を設定します。
ViewBindingを使ってレイアウトファイルのIDとコードを結びつけます

ActivityからXMLレイアウトファイルのTextViewを呼び出すには元々 findViewById を使っていました。
findViewById: 

activity_main.xml

MainActivity.kt

これには問題点がありました

  • コードの間違いがビルドしないと分からない
  • null safeではない、nullableとして気を付けるしかない
  • etc. 

ViewBinding: 

ViewBindingの設定はまず初めに
以下のように buildFeatures{ viewBinding true } を追加します。

build.gradle (Module: …)

次に、activity_main.xml ファイル内にある
android:text=”Hello World!”
を削除し代わりに
android:id=”@+id/textview”
を追加します。

MainActivity.kt
以下のように追加修正をします。

ここまででほぼ完成ですが、”Test TextView”の箇所が黄色くワーニングになています。

文字列の設定で、直接記述するリテラルは推奨されないのでリソースに設定します。
res¥values¥ 以下の strings.xml ファイルに書き込みます。

strings.xml

(app_name はアプリの名前ですからそのまま)

textview ではgetString()でIDをこのように呼び出します

記述が簡略化されたとは思えませんが、findViewByIdからのいくつかの問題は解決されています。

 

サンプルコード

 

まとめてみます。
 
MainActivity.kt

 
レイアウトです
activity_main.xml

 
リソースです
strings.xml

 
build.gradle (Module: …)
また記述後には Sunc が必要です(エディタ上部に表示が出ます)

実行します。
 
1x1.trans - [Android & Kotlin] TextViewの文字表示


 
完成ですが、文字が読みづらいので、TextViewにtestSizeとtextColorを設定してみます。
 

 
1x1.trans - [Android & Kotlin] TextViewの文字表示

 
 
References:
TextView | Android Developers
Kotlin and Android | Android Developers
Kotlin Programming Language
Kotlin Android Extensions の未来

シェアする

  • このエントリーをはてなブックマークに追加

フォローする