Adagio non molto
[Android] Button 만들기 - 코드 분석 본문
하지만 이 xml파일로 컴파일 하면 'inputType이 명시되어 있지 않습니다.'라고 추측되는 경고가 뜬다.
그냥 가볍게 넘어가기로 했다. (xml을 분석하려하면... 받아들이자 !)
문제는 책에서 '아주 쉬운 코드'인 .java 파일이다. 소스는 다음과 같다.
솔직히, 저 진하게 처리된 부분을 완전히 이해하지 못하겠다. 그래서 developer에 들어가봤다.
http://developer.android.com/reference/android/widget/Button.html
코드가 똑같다. 슬프다..
그냥 이렇게 쓰는 듯하다.
그래서 오버라이딩(?)이라고 생각하고 OnClickLinstener 메소드를 다시 검색해서 찾아봤다.
클릭하면 매개변수로 받은 view를 보여주는 메소드... ㅡ_ㅡ;;
자바실력이 부족해서 이해는 못하겠지만 저런식으로 메소드를 사용하는 듯 하다.
파란색은 버튼객체 btn의 이벤트 처리 코드 이다.
저부분은 에디트 객체를 찾고, 에디트 객체가 가진 문자열을 받고, 토스트로 출력하는 단계라고 이해했다.
세상에 버튼하나 만드는게 이리 어렵다니. 이게 아주 쉬운거라니...;;
P.S setOnClickListener 메소드에 관해서 추가
http://blog.naver.com/giveupyou?Redirect=Log&logNo=20144513301 에서 퍼옴.
setOnClickListener를 통해 버튼 클릭시 onClick메소드를 이용하여 이벤트구현.
1.이렇게 구현하면 리스너를 연결한 후 리스너 부분을 따로 구현하여 보기편하다.
버튼.setOnClickListener(리스너이름); // 버튼 클릭시 OnClickListener와 연결.
View.OnClickListener 리스너이름 = new OnClickListener() { //리스너인터페이스
public void onClick(View v) { //onClick메소드(클릭시이벤트)를 구현
}
};
2.만약 OnclickListener를 상속받아서 사용할 경우 리스너를 따로 선언하지 않아도 된다.
public class Test extends Activity implements OnClickListener //onClickListene
{ //r상속
버튼.setOnClickListener(this){
public void onClick(View v) {
}
} }; //따로 리스너를 선언하지 않아도 상속받아서 사용
3.흔히 보는 유형으로 리스너 이름부분에 new를 사용하여 바로 코딩법
버튼.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
}
});developer에서 소개된 방법은 3번의 '흔히'보는 유형이군요.. ㅜㅜ
'Study > JAVA' 카테고리의 다른 글
[Android] AudioRecord vs MedioRecorder (1) | 2015.09.19 |
---|---|
[Android] 스택베이스 공학용계산기 잠정 중단... (0) | 2012.04.07 |
[Android] Hello World 이해하기 기초 (0) | 2011.12.13 |