[안드로이드 스튜디오] Text 가져오기
파일을 생성하면 activity_main.xml 과 MainActivity.kt 두가지가 생성된다.
activity_main.xml 에서는 design , split , code 를 수정할 수 있고 MainActivity.kt 에선 내가 자바에서 하던 형태와 비슷한 코딩을 하면 된다.
먼저 팔레트 창에서 Button,PlainText 를 split 창에 끌어놓는다. (TextView 는 기본값)
이번엔 내가 입력한 텍스트 가져오기를 실행할 것 이므로, 버튼 속 텍스트는 "텍스트 가져오기" 로 저장한다.
(html 에서도 구문을 쉽게 보기 위해 id 를 설정했듯이, 안드로이드 스튜디오에서도 id를 설정해 MainActivity 에서 다루기 쉽도록 한다.)
이 버튼의 id 는 btn_getText , PlainText의 id는 et_id, TextView 의 id 는 tv_result 이다.
이때, PlainText 의 디자인 창에 들어가서 힌트에 "아이디를 입력하세요" 입력 -> 사용자가 값을 입력하도로고 가이드를 주고, 입력하면 사라지게 해준다.
<소스코드>
package com.example.editextbutton
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btn_getText.setOnClickListener{ // 에딧 텍스트에 있는 값을 가지고 와서 텍스트 뷰에 뿌려준다
var resultText =et_id.text.toString() //에딧텍스트에 입력되어있는 값
tv_result.setText(resultText) // 입력되어있는 값을 텍스트뷰에 set 해줌
}
}
}
(위에서 사용한 기능 설명)
setOnClickListener : 사용자가 클릭했을때 이벤트를 처리하게 해준다.
setText : text의 내용을 변경시켜준다.
추가로, var : 값이 언제든지 변경될 수 있음
val : 값이 변경되지 못하는 변수
1. resultText 라는 변수에 입력받은 값을 String 형태로 넣어준다.
2. TextView 의 id값을 활용해 입력되어있는 값(resultText) 를 넣어준다.
이 두가지 과정이 btn_getText.setOnClickListener 내부에 있는 것으로, 버튼이 클릭했을때 처리되는 이벤트 인 것이다.
결과 : 버튼을 틀릭하면 Hello World 가 내가 EditText 에 입력한 값으로 변경된다.