프로젝트를 Eclipse로 다시 가져와야 할 때마다 (Eclipse를 다시 설치하거나 프로젝트 위치를 변경 한 경우) 대체 된 모든 메소드가 올바르게 형식화되지 않아 오류가 발생합니다.
이 메소드는 수퍼 클래스 메소드를 대체해야합니다.
이것이 어떤 이유로 든 Android 프로젝트에서 발생한다는 것을 언급 할 수 있습니다. 메서드 인수 값이 항상 채워지는 것은 아니므로 직접 수동으로 채워야합니다. 예를 들어 :
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
//These arguments have their correct names
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
}
});
처음에는 다음과 같이 채워집니다.
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
//This methods arguments were not automatically provided
public void onCreateContextMenu(ContextMenu arg1, View arg2,
ContextMenuInfo arg3) {
}
});
이상한 점은 코드를 제거하고 Eclipse가 자동으로 메소드를 다시 작성하게하면 이미 가지고있는 것과 동일한 인수 이름을 사용하므로 문제의 위치를 알 수 없습니다. 나를.
재정의 된 모든 메소드를 수동으로 수동으로 다시 작성해야하는 것은 상당히 고통스러운 일입니다. 왜 이런 일이 발생했는지 또는 어떻게 고칠 수 있는지 설명 할 수 있다면. 나는 기쁠 것이 야.
어쩌면 다른 메소드의 인수 안에있는 메소드의 형식을 지정하는 방식 때문일 수 있습니까?
답변
Eclipse는 기본적으로 Java 1.5로 설정되며 인터페이스 메소드를 구현하는 클래스가 있습니다 (Java 1.6에서는 주석을 달 수 @Override
있지만 Java 1.5에서는 수퍼 클래스 메소드를 대체하는 메소드에만 적용될 수 있음).
프로젝트 / IDE 환경 설정으로 이동하여 Java 컴파일러 레벨을 1.6으로 설정하고 JRE 1.6을 선택하여 Eclipse에서 프로그램을 실행하십시오.
답변
Eclipse Galileo 를 사용하면 Eclipse- > 환경 설정 메뉴 항목으로 이동 한 다음 대화 상자에서 Java 및 컴파일러를 선택하십시오.
이제 1.6에서 컴파일러 준수 수준이 여전히 표시 될 수 있지만 여전히이 문제가 나타납니다. 이제 ” 프로젝트 특정 설정 구성 … ” 링크를 선택하면 프로젝트가 1.5로 설정되어 있고 1.6으로 변경됩니다. 영향을받는 모든 프로젝트에 대해이 작업을 수행해야합니다.
이 비잔틴 메뉴 / 대화 상자 인터페이스는 Eclipse의 열악한 UI 디자인에서 일반적입니다.
답변
알파 제로와 폴의 방법을 모두 시도했지만 여전히 작동하지 않은 다른 사람에게 이런 일이 발생하는 경우.
나를 위해, 프로젝트> 정리 …를 수행 한 후에도 어떻게 든 컴파일 오류를 ‘캐시’했습니다.
프로젝트> 자동 빌드를 선택 취소 한 다음 프로젝트> 정리를 수행 한 다음 다시 빌드해야했습니다.
또한 의심스러운 경우 Eclipse를 다시 시작하십시오 . 이렇게하면 설명하기 어려운 많은 오류를 해결할 수 있습니다.
답변
이 문제점을 해결하려면 프로젝트 특성-> Java 컴파일러-> 컴파일러 준수 레벨 선택 1.6-> 적용으로 이동하십시오.
답변
바울의 대답은 부분적으로 나를 위해 일했습니다. 나는 여전히 하나의 오류가있었습니다. 그래서 그 외에도 Properties-> Project Facets로 이동하여 Java 버전을 1.5에서 1.6으로 설정해야했습니다.
아마 도움이 될 것입니다.
답변
내 경우에는 위의 해결책 중 어느 것도 효과가 없었습니다.
프로젝트 작업 공간에서 파일을 삭제해야했습니다.
- .계획
- .classpath
그리고 폴더 :
- 설정
그런 다음 이전에 작동했던 비슷한 프로젝트에서 복사했습니다. 이로 인해 깨진 프로젝트가 수정되었습니다.
물론 이전 대안을 시도하기 전에이 방법을 사용하지 마십시오!.
답변
위의 방법으로도 도움이 되지 않으면 “대체 JRE”가 아닌 적절한 ” 실행 환경 “이 선택되어 있는지 확인하십시오 .
아래에서 찾을 수 있습니다 :
프로젝트-> 빌드 경로-> 라이브러리
를 선택하고을 JRE System Library
클릭하십시오 Edit...
.
“Alternate JRE …”를 선택한 경우와 같이 “Execution Environment”로 변경하십시오 JavaSE-1.8 (jre1.8.0_60)
. 왜 그런지 모르겠지만 이것이 해결 될 것입니다.