1. EditText 화면배치 (activity.main.xml)
일반적인 button과 비슷한 방식으로 배치하고,
<EditText
android:id="@+id/hour"
android:layout_width="50dp"
android:layout_height="50dp"
android:gravity="center_horizontal"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginTop="100dp"
android:layout_marginLeft="50dp"
android:inputType="number"
android:hint="00"/>
id부터 marginLeft까지는 Linearlayout과 그 외 EditText까지 왔다면 알고 있을 것이라 생각함,
또한, 필수적으로 필요한것은 id, width, hegiht 뿐임.
inputType의 경우, 저기에 number를 넣을경우 숫자판만 나옴.
hint의 경우 사람들이 클릭하기전 보여주고 싶은 화면을 의미함.
자세한 내용은 다음 링크 참조.
[Android] 안드로이드 - 에디트텍스트(EditText) 사용법 정리
안드로이드 에디트텍스트(EditText)는 TextView로부터 파생된 클래스로 TextView는 단순히 Text를 보여주는 역할을 한다면 EditText는 Text를 입력 및 수정까지 가능한 뷰(View) 위젯입니다. 1. EditText 기본 사.
lktprogrammer.tistory.com
2. EditText 사용(MainActivity.kt)
뷰바인딩을 사용할 줄 모른다면 다음 링크 참조
[Android Kotlin] View Binding ( 뷰 바인딩 )
네 여러분들 안녕하십니까 홍 드로이드 입니다 :) 이번 시간에는 코틀린에서 View Binding ( 뷰 바인딩 )을 하는 방법에 대해서 안내드리도록 하려고 합니다. 우선 뷰 바인딩에 대해서 쉽게 말씀드리
duckssi.tistory.com
뷰바인딩을 사용할 수 있다는 전제하에
var hourtxt=binding.hour.text.toString()를 (hour가 id) 사용해서 받을 수 있음. 뷰바인딩이 아니더라도, 나름의 받는 방법에서 저런식으로 받으면됨.
딱 처음 봤을때 저게 왜 되는지 싶을건데, Edittext는 사용자가 바꿀때마다 id에 자동으로 저장되고, 우리는 그걸 받아 쓰기만 하면됨. 그래서 저런식으로 구현이 가능함.
여기서 Int, float등으로 바꾸려고 할때 오류가 날 확률이 높은데,
hour = Integer.parseInt(binding.hour.text.toString()) 이런식으로 짜면, 아무것도 넣지않은경우, 즉 null인 경우 오류가 나게됨. 이 현상은, 조건문을 통해 binding.hour.text.toString().length>0 일때만 형 변환을 하게 해주면 됨.
null일 경우 길이가 0이라는 것을 이용하는 방식.
'안드로이드 스튜디오' 카테고리의 다른 글
안드로이드 스튜디오 에뮬레이터 시간 설정하기 (0) | 2021.09.10 |
---|---|
예전 버전 다운로드(github) (0) | 2021.08.09 |
timer함수 사용법 (안드로이드 스튜디오, Kotlin) (0) | 2021.08.09 |
github 협업하는법, 뷰바인딩(안드로이드 스튜디오) (2) | 2021.08.07 |
손전등 스위치 (안드로이드 스튜디오, 코틀린) (0) | 2021.08.06 |