안녕하세요...
무지 무지 고민하다가, 글 하나 올립니다.
안드로이드 라기 보단, 자바 문법과 연관된 질문 같아서 조금 망설이다가, 기냥 올려봅니다. ^^;;;;;;;;;;
경고 내용은 "must override or implement a supertype method" ~ 입니다.
코드는 아래와 같습니다
=====================================================================
@Override
public void onBackPressed() {
super.onBackPressed();
//back key 수행
}
}
View.xxxxxxOnClickListener mbtnListener = new View.xxxxxxOnClickListener() {
@Override
public void [안내]태그제한으로등록되지않습니다-xxxxxxonClick(View v) {
switch(v.getId()){
case R.id.button1:
LayoutInflater inflater = LayoutInflater.from(Activity.this);
View view = inflater.inflate(R.layout.dialog, null);
AlertDialog.Builder builder = new AlertDialog.Builder(Activity.this);
builder.setView(view);
builder.setTitle("타이틀");
builder.setNegativeButton("취소", new DialogInterface.xxxxxxOnClickListener() {
@Override
public void [안내]태그제한으로등록되지않습니다-xxxxxxonClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
// 이 후 ctrl+space를 눌러서, code 작성을 하려니
@@@must override or implement a supertype method 경고가 뜨면서, 자동완성이
동작 하지 않았습니다...
}
}
}
================================================================================
구글 검색을 통해서 해결된건 아니고, 우연히 해결(?) 된거라..어쩌다..이것저것 하다 보니..되서 ^^;;;;;;;;
구글 검색을 통해 알아본 해결 법들은 아래 2가지로 정리가 되더군요..
1. 자바 컴파일러 버전을 1.5 ->1.6으로 올려라
jdk 1.5에서는 @override는 추상 함수와 interface만 사용가능합니다.
구현되어있는 함수를 override해서 사용하는 경우는 안되죠.
jdk 1.6에서는 단순 override하는 경우에도 에러처리를 하지 않게 된걸로 알고 있습니다.
[출처] 안드로이드 pub.. 작성자 자바잡아
==> 해당 안됨. 이미 버전이 1.6임.
2. View.onClockListener를 import 해라. 아니면, 해당 Listener명 까지 나오게 구체적으로 import를 해라..등등.
import 관련된 해결법들
==>해당없음.
대부분이 위 2가지 해결 방법으로 압축이 되더군요..
그런데, 저 에겐 해당 되지 않아서, 오류 내용을 생각해보니, 상속과 관련된게 아닌가 싶더군요..
super class로 타고 올라갔더니, 해당되는 함수가 없어서..저런 경고(?)같은게 뜨는게 아닌가 싶더군요.
그래서, 그냥 AlertDialog 호출해서 띄우는 부분을 함수로 따로 만들어서, 함수만 호출하는 방식으로
처리 하니까, 자동구문이 제대로 동작 하더군요. 기냥 됐습니다.
뭐, 딱히 큰 오류도 아니고, 아직 까지 문제가 되는 건 아니지만, 문득 궁금해져서요..
흠~ 뭐가 문제 였을까요? 제가 뭘 잘 못 했을까요?
코드 작성에 문제가 있었겠지만, 왜 저런 경고가 발생 한건지 궁금해서요..
^^;; 아시는 분은 설명 좀 부탁드립니다..
댓글
댓글 리스트-
작성자슈퍼성근 작성시간 15.03.27 참고로 안드로이드 라이브러리는 무조건 최신 라이브러리를 사용하시는 것이 좋습니다.
ㅎㅎㅎ 비상님 잘 지내시죠? -
답댓글 작성자비상 작성자 본인 여부 작성자 작성시간 15.03.30 ^^ 네.. 잘 지내고 있습죠.. 낼이면 3월도 끝이네욥...
질문 올리고, 금요일에 퇴근하면서 팟~ 하고 든 생각이 디버깅을 안해봤다는 생각이 들더군요.. break point 찍어서, 디버깅만 해 봤더라면, 구체적으로 문제 확인이 가능했을 껀데 라고 말입니다..
제가 너무 검색에만 의존했었구나..라는 생각을 좀 했었더랬죠.... 답변 감사합니다.. API 설정이랑 디버깅으로 다시 확인해 보겠습니다..ㅎㅎ 새로 시작되는 4월도 즐겁게 ~~ 즐겁게~~~ -
작성자yeojoy 작성시간 15.03.30 코드에는 문제될 게 없으니까 더 고민되시겠네요 ㅋㅋㅋ 저도 다운로드 받아서 봤는데 전혀 감이 안 오는데요? 아 궁금하네요 ㅋㅋㅋ 다른 button event는 별도의 method로 빼셨던데 저것도 일단 method로 빼 보시죠? ㅋㅋㅋ
-
답댓글 작성자비상 작성자 본인 여부 작성자 작성시간 15.03.30 푸히히 답변 감사합니다.. 말씀하신대로, 컴파일 에러나, exception이 아니다 보니, 넘어갈까 싶다가도 자동완성 기능이 안되니..솔직히 귀찮은 점도 있어서 아핳핳 ^^;;일단 다른 method로 빼서 처리를 했습니다. 그리고, 안드로이드 API는 16을 사용하고 있지만, 중간에 변경된 것들이 많아서 다시 확인해 보려고 해요.. 그리고 디버깅은 ㅋㅋ 지금 또 다른 이슈가 있어서...우선순위에서 밀려 버렸네요..
-
답댓글 작성자yeojoy 작성시간 15.03.30 비상 힘내세요... 저는 요즘 놀고먹고 있는 중이라... spring 공부하고 있습니다... 이제 뭔가 좀 나오려고 하는데 sample만 만들고 있죠뭐 허허허 (슈퍼성근느님께서 사주시는) 고기 먹고 싶네요 ㅋㅋㅋㅋㅋ