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 |
Tags
- 구글맵스
- Javscript
- 안드로이드
- stylesheet
- JavaScript
- 랜덤번호
- Java
- Linux
- TextView
- JS
- 리액트
- fragment
- 랜덤넘버
- 코틀린
- button
- GoogleMaps
- nodejs
- RecyclerView
- Android
- 오버라이딩
- scrollview
- TypeScript
- Kotlin
- Hook
- React
- 스프링부트
- array
- 자바스크립트
- SpringBoot
- npm
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() //증감될 숫자는 입력된 텍스트를 정수로 변환한 값과 같다
}
}
}
생각보다 엄청 간단한데 버튼 세팅하는 것밖에 못했다
![](https://t1.daumcdn.net/keditor/emoticon/niniz/large/044.gif)
복습하니까 더 잘 이해된다
다음엔 다 만들수 있겠지
![](https://t1.daumcdn.net/keditor/emoticon/niniz/large/022.gif)
'코딩 기록 > 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