1) 기능 구현
- var 타입의 number 변수를 두어numbertextView의 text 에 number 값 대입한다.
- number 변수의 값을 변경한 후
- textview 의 text 는 String 타입이고number.toString() 으로 형 변환하여 넣기
- number 는 Int 타입이므로
var number = 0
// 동작에 대한 연산 처리
// 클릭에 대한 처리
resetButton.setOnClickListener{
number = 0
numberTextView.text = number.toString() // 숫자를 문자열로
}
2) 결과

3) 전체코드
Activity.kt
package com.part1.chapter2
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.Button
import android.widget.TextView
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// UI 요소 가져오기
val numberTextView = findViewById<TextView>(R.id.numberTextView)
val resetButton = findViewById<Button>(R.id.resetButton)
val plusButton = findViewById<Button>(R.id.plusButton)
var number = 0
// 동작에 대한 연산 처리
// 클릭에 대한 처리
resetButton.setOnClickListener{
number = 0
numberTextView.text = number.toString() // 숫자를 문자열로
// 리셋 버튼의 클릭에 대한 리스닝을 하고 있는지 확인하기 위해 Log 찍기
Log.d("onClick", "리셋된 숫자는 $number") // 디버깅용이므로 Log.d
}
plusButton.setOnClickListener{
// + 버튼의 클릭에 대한 리스닝을 하고 있는지 확인하기 위해 Log 찍기
number++
numberTextView.text = number.toString() // 숫자를 문자열로
Log.d("onClick", "+된 숫자는 $number") // 만약 에러용이면 Log.e
}
}
}
main_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/numberTextView"
android:layout_width="match_parent"
android:layout_height="300dp"
android:text="0"
android:textSize="100dp"
android:textColor="@color/blue"
android:textStyle="bold|italic"
android:gravity="center"/>
<!-- Linear Layout 는 vertical 이다.
그러나 버튼은 가로 정렬하고 싶다.
이럴 때는, 중첩 레이아웃을 사용하면 된다. -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/resetButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="초기화"
android:layout_weight="1"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:layout_marginStart="16dp"
/>
<Button
android:id="@+id/plusButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="+"
android:layout_weight="1"
android:layout_margin="16dp"
/>
</LinearLayout>
</LinearLayout>
'안드로이드 앱(Kotlin|Java) > [2025~] 안드로이드 앱' 카테고리의 다른 글
Part1_Ch03_01 개요 및 학습목표 (0) | 2025.02.04 |
---|---|
Part1_Ch02_07 복습 및 한 걸음 더 (0) | 2025.02.04 |
Part1_Ch02_05 유저 입력값 받아오기 (0) | 2025.02.03 |
Part1_Ch02_04 숫자세기 UI 그리기 (2) (0) | 2025.02.03 |
Part1_Ch02_03 숫자세기 UI 그리기 (1) (0) | 2025.02.03 |