[안드로이드 프로그래밍] 방탈출 게임 4. 숫자패드 눌러서 번호 입력하기

     



숫자 패드를 눌렀을 때 텍스트 뷰에 숫자가 입력되는 것을 만들어 본다.


일단 대충 숫자패드 4개와 입력되는 화면 4개를 만들었다. 코드는 비슷하니까 몇개만 보면 복붙하면 될 것이다.



숫자패드 버튼은 ID값만 다르게 하고 같은 onClick함수를 사용한다.

숫자가 입력되는 텍스트뷰는 ID값만 설정하면 된다. 여기선s textview1~4를 사용했다.


숫자패드에 같은 클릭함수를 적용했기 때문에 어떤 숫자버튼을 눌러도 input이라는 함수가 실행된다.




input함수에서 가장먼저 해야할 것은 버튼 구별이다. 어떤 버튼을 눌렀는지 판단하기 위해 버튼을 생성하고 findViewById를 할때 입력값에 v.getId()를 입력한다. View v는 사용자가 입력한 버튼이 들어가기 때문에 v.getId()를 하게 되면 사용자가 누른 버튼의 아이디가 들어간다. 따라서 Button bt는 항상 사용자가 누른 버튼을 의미한다.


이제 버튼을 눌렀을때 텍스트뷰에 누른 버튼의 숫자를 집어넣어보자.






가장먼저 현재 텍스트뷰에 빈칸이 어디인지 찾아야한다. 

4개중에 앞에 2개가 입력되었다면 3번째 칸에 입력해야 한다. 그것을 찾기위한 코드는 위와 같다. 분석은 알아서.. 만약 4개가 입력되었다면 다 초기화 하고 가장 첫번째 칸에 숫자를 입력한다.




위 코드에 이어서 버튼을 눌렀을 때 텍스트 뷰에 숫자를 넣는 코드이다. if문을 이용해 어떤 버튼을 눌렀는지 판별하고, 버튼에 해당하는 숫자를 inputtv 에 입력한다. 이때 inputtv는 위에서 선정한 자리의 텍스트 뷰이기 때문에 겹치는 경우는 없다.


아래 있는 if문은 만약 사용자가 올바른 번호를 입력했을때 발생하는 이벤트를 처리한다.

여기서는 1 2 3 4 를 입력했을때 성공하도록 만들었다. 


마지막으로 텍스트 뷰는 처음에 빈값을 가지고 있어야 한다. 다음과 같이 레이아웃에서 수정하면 끝




반응형

댓글

Designed by JB FACTORY