繰り返しの処理for文を書いて、それをTextViewに表示してみよう。
for文の構文は
for(変数名 in データ量){
処理
}
という書き方になる。
今回は0~9までを、文字として表示させる処理をしてみよう。
▼完成見本がこちら
▼activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="表示:"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btnShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="show"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv" />
</androidx.constraintlayout.widget.ConstraintLayout>
▼MainActivity.kt
package com.example.samplefortext
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//1)viewの取得
val tv:TextView = findViewById(R.id.tv)
val btnShow:Button = findViewById(R.id.btnShow)
//2)ボタンを押したら~
btnShow.setOnClickListener {
//3)for文で表示 for(変数名 in データ量)
for(i in 0..9){
tv.append("\n")//改行させたい場合はこれを追記
tv.append(i.toString())//appendメソッドで文字列を結合
}
}
}
}