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>

+ Recent posts