상세 컨텐츠

본문 제목

[Android]안드로이드 이벤트처리 OnClickListener 실습 간단 예제

android

by a입니다 2017. 6. 30. 21:39

본문

반응형

 

 

안드로이드 실습 언드로이드 스튜디오

 

일단 Activity(액티비티)에 소스코드를 작성하기전에 Layout파일에 코드를 작성해보자.

 

해당 숫자 버튼을 클릭하면 editText에 출력되고 clear를 누르면 입력된게 다사라지는 예제이다.

 

 

 

 

 

위 화면같이 drawable폴더에  숫자이미지를 넣는다.

그러면 객체에 이미지를 부여할수 있다.

res/drawable폴더에 이미지를 저장해야 경로를 인식할수 있다. 

 

 

 

 

 

 

 

설명:

 

tag속성을 통해 해당 속성의 값을 지정하도록 했다.

text를 사용하면 해당이미지와 겹치기때문이다.

 

위에 소스코드를 보면 알겠지만 Button과 EditText로

구성되어있다.

 

여기 코드에서  id는 해당객체의 id, 이를 통해 유저와 상호작용 할수있다.

(클릭,키업등 이벤트처리) 자바코드에 객체화 시킬때 값이 된다.

findViewById에 사용된다.

 

layout-widht  : 객체 너비이다(안드로이드에서는 dp를 단위로 사용).   

 

wrap-content : 내용물 만큼 크기를 지정해 준다.

 

layout-height는 객체높이

 

gravity :     html의 text-align와 비슷한 역할 , Text작성될 위치를 지정할수 있다.

 

ems    :    객체만의 문자 갯수제한(layout-width속성이 width-content일때만 사용가능 )

 

layout-constrain[direction]-to[direction] of 는 

 

constraintLayout 사용시 가능한 속성, 현재 객체의 direction을 

매개변수의 direction으로 맞춘다. 

 

app:layout-constraintLayoutTop-toTopOf = "parent"는

속성으로 추가되 해당 layout에서 TOP을

parent의 Top에 맞추겠다라는걸 의미한다.

종류로는 Top(위),Botton(아래),Left(왼쪽) , Right(오른쪽)이 있다.

 

위 소소코드와 같이 해당id를 기준으로 위치를 잡을수 있다.

 

text    :  속성 값 getter ,setter 객체에  값이 나타난다.

 

tag  :  속성 값 getter ,setter 객체에  값이 나타나지 않는다.

 

 

 

 

  

 

  10줄         AppCompatActivity옆 implements View.OnClickListener를 작성.

  11~16줄    사용자와 상호작용할 Button과 EditText를 멤버변수로 선언.

 

 

 

 

23~28번줄  객체를 시키기위해 findViewById 사용  어떤 id를 갖는것인지 선언

30~33번줄    implements View.OnClickListener 작성했기에

                          이런형태로 선언가능. 소스코드가 간결해졌다.(비슷한 패턴을 반복하기위한)

                          이렇게 안하면 35번줄 같이 일일이 다 해줘야한다.

           Button에 OnclickListener 이벤트처리

          

35번줄         bt_clear에도 OnclickListener이벤트

          et_reulst.setText("");

          작성했던것들을 지우기위해  "" 를 넣었다.

 

 

 

45번줄   implements View.OnClickListener 작성하고

    ctrol+o를 누르고 onClick선택하고

 

 

 

위 사진과 동일하게 선택하고 ok를 눌러서 생성했다.

키보드를 입력하면 해당항목이 찾아진다.

 

 

여기 onClick 이벤트에 위와같이 소스코드를 작성하고

setText를 하여 editText에 입력한것을 저장했다.

 

47번째 줄 Tag는 문자열이 아니기때문에 toString으로 문자열화 시킨다.

 

48번째줄   버튼클릭하여 선택된 숫자를 가져오고 temp과 +하고 temp에 대입

 

et_result(editText)에 해당버튼을 클릭하여 나온숫자들을

setText(temp)해버린다.

 

이렇게 소스코드를 입력하면 아래와같이 

    해당 숫자버튼을 클릭하면 editText에 출력이된다.

clear를 클릭하면 버튼을 클릭하여 출력된 숫자들이 다 사라진다.

 

 

 

 

 

 

 


 

반응형

관련글 더보기