Notice
														
												
											
												
												
													Recent Posts
													
											
												
												
													Recent Comments
													
											
												
												
													Link
													
											
									| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
													Tags
													
											
												
												- 구글맵스
 - npm
 - button
 - Linux
 - fragment
 - Java
 - stylesheet
 - JavaScript
 - TypeScript
 - 자바스크립트
 - Hook
 - JS
 - 리액트
 - Android
 - array
 - TextView
 - 안드로이드
 - 코틀린
 - Kotlin
 - 오버라이딩
 - SpringBoot
 - 랜덤넘버
 - React
 - scrollview
 - 랜덤번호
 - Javscript
 - GoogleMaps
 - 스프링부트
 - nodejs
 - RecyclerView
 
													Archives
													
											
												
												- Today
 
- Total
 
타닥타닥 개발자의 일상
코틀린으로Kotlin 증감하는 Counter만들기, setOnClickListener과 증감 연산자 이용 본문
			코딩 기록/Kotlin
			
		코틀린으로Kotlin 증감하는 Counter만들기, setOnClickListener과 증감 연산자 이용
NomadHaven 2022. 2. 3. 19:58
숫자를 입력한 다음 + 버튼을 누르면 증가하고 -버튼을 누르면 감소하는,
reset버튼을 누르면 숫자가 0으로 초기화 되는 카운터를 만들것.
activity_main.xml 코드화면
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    <TextView
            android:id="@+id/counter_num"
            android:layout_height="40dp"
            android:text="0"
            android:gravity="center"
            android:textSize="20sp"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintHorizontal_bias="0.507"
            android:layout_width="531dp"
            app:layout_constraintBottom_toTopOf="@+id/button3"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.256" android:layout_marginTop="76dp"/>
    <Button
            android:id="@+id/plus_btn"
            android:text="+"
            android:textSize="40sp"
            android:layout_width="181dp"
            android:layout_height="160dp"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintHorizontal_bias="0.093"
            app:layout_constraintVertical_bias="0.206"/>
    <Button
            android:id="@+id/minus_btn"
            android:text="-"
            android:textSize="50sp"
            android:layout_width="189dp"
            android:layout_height="159dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintHorizontal_bias="0.888"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintVertical_bias="0.206"/>
    <Button
            android:id="@+id/reset_btn"
            android:text="reset"
            android:textSize="20sp"
            android:layout_width="523dp"
            android:layout_height="78dp"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintHorizontal_bias="0.454"
            app:layout_constraintVertical_bias="0.421"/>
    <EditText
            android:layout_width="363dp"
            android:layout_height="106dp"
            android:inputType="number" //숫자만 입력받으므로 inputType="number"이다.
            android:text="0"
            android:ems="10"
            android:id="@+id/editText"
            app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.147"
            app:layout_constraintTop_toTopOf="@+id/button3"
            android:layout_marginTop="105dp" app:layout_constraintVertical_bias="0.0"
            android:layout_marginBottom="308dp"/>
    <Button
            android:id="@+id/set_btn"
            android:text="set"
            android:textSize="20sp"
            android:layout_width="116dp"
            android:layout_height="107dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintHorizontal_bias="0.873"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintTop_toTopOf="@+id/button3"
            android:layout_marginTop="104dp"
            app:layout_constraintVertical_bias="0.0" android:layout_marginBottom="308dp"/>
</androidx.constraintlayout.widget.ConstraintLayout>
activity_main.xml 코드화면

MainActivity.kt
package com.example.counter
import android.content.DialogInterface
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import androidx.appcompat.app.AlertDialog
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main) //메인화면 초기화
        var counter:Int = 0 // 증감할 숫자의 변수 지정
        val counterNum = findViewById<TextView>(R.id.counter_num) //상단에 있는 결과값을 나타내는 변수
        val plusBtn = findViewById<Button>(R.id.plus_btn) // 수를 + 하는 버튼
        val minusBtn= findViewById<Button>(R.id.minus_btn) //수를 -하는 버튼
        val resetBtn= findViewById<Button>(R.id.reset_btn) //수를 0으로 초기화 하는 버튼
        plusBtn.setOnClickListener { //+버튼을 누를시
            counter++ //숫자는 1증가
            counterNum.text= counter.toString() //상단의 결과 값은 증가된 숫자가 문자로 표시된 것
        }
        minusBtn.setOnClickListener { //-버튼을 누를시
            counter-- //숫자는 1감소
            counterNum.text= counter.toString() //상단의 결과 값은 감소된 숫자가 문자로 표시된 것
        }
        resetBtn.setOnClickListener { //reset버튼을 누를시
            counter = 0 //숫자는 0으로 초기화
            counterNum.text="0" //상단에 있는 결과값은 0
        }
        val editText = findViewById<EditText>(R.id.editText) //숫자 입력하는 공간을 나타내는 변수
        val setBtn = findViewById<Button>(R.id.set_btn) //증감할 숫자를 세팅하는 버튼
        setBtn.setOnClickListener { //세팅 버튼을 누를시
            counterNum.text = editText.text//상단의 숫자는 입력된 텍스트와 동일하다.
            counter = editText.text.toString().toInt() //증감될 숫자는 입력된 텍스트를 정수로 변환한 값과 같다
        }
    }
}
생각보다 엄청 간단한데 버튼 세팅하는 것밖에 못했다

복습하니까 더 잘 이해된다
다음엔 다 만들수 있겠지

'코딩 기록 > Kotlin' 카테고리의 다른 글
| Kotlin 안드로이드 화면에 Spinner 보이게 하기, Spinner로 선택한 항목 textView랑 연결하기 (0) | 2022.02.07 | 
|---|---|
| Kotlin 라디오 버튼으로 항목 선택하고 텍스트 뷰에 보이게 하는 안드로이드 페이지 만들기 radio, TextView (0) | 2022.02.07 | 
| 코틀린 Kotlin 안드로이드 기계 연결 후 앱 이름, 버튼, 토스트 toast, 알림창 설정하기 (0) | 2022.01.30 | 
| Kotlin에서 MutableList, File, 상속 이용해서 야구선수 등록 프로그램 만들기 (0) | 2022.01.30 | 
| 코틀린 kotlin에서 HashMap 사용하기/ key값만 출력하기/ HashMap 만들기 / 가변형 HashMap 만들기 예시 (0) | 2022.01.27 | 
			  Comments