안드로이드 개발 질문/답변
(글 수 45,052)
보통 상수쓸때 클래스 맴버변수로
final int TEMP_ID = 1111;
뭐이런식으로 해서 쓰자나요 이름은 전부 대문자로해주고
근데 안드로이드에서 리스너붙일때 Acitivity클래스에서 처리하는게 아니고
뷰자체에서 처리하게끔해야해서 리스너붙일때 상수를써야하는데 소스가 이런데요
final GalleryForOneFling gallery = new GalleryForOneFling(this);
//Click처리를 위하여 Gallery생성뒤에 리스너를 붙임
prev.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if(gallery.getSelectedItemPosition() > 0){
Log.e("kjh", "gallery Prev ok");
gallery.setSelection(gallery.getSelectedItemPosition() - 1, true);
}
}
});
setView.addView(prev);위에 final GalleryForOneFling gallery = new GalleryForOneFling(this); 여기서 생성한 갤러리뷰를
상수로 안하니까 에러나더라구요 그래서 상수로 했는데 이런 케이스에서도 이름을 대문자로 표시해야하나요?
가능하시다면 왜 위와같이 뷰자체에 리스너붙일때는 상수를 사용해야하는지도 설명좀 부탁드립니다...ㅠㅠ




이런 케이스에서도 이름을 대문자로 표시해야하나요?
-> 개인 차 입니다. 대/소문자 임의로 사용하세요
리스너붙일때는 상수를 사용해야하는지도 설명좀 부탁드립니다..
-> View.OnClickListener 는 new 로 새로 생성한 object 입니다. parent 와는 상관없기 때문에 final 이 없으면 지역 변수 이기 때문에 인식할 수 없습니다.