2012-04-26 4 views
2

다른 액티비티를 호출합니다. 두 번째 부하 동안 나는 얻을java.lang.NoClassDefFoundError - 액티비티 클래스

java.lang.NoClassDefFoundError 

호출 된 액션 클래스

public class Entry extends Activity implements ViewPager.OnPageChangeListener { 

ViewPager form; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
.... 
form.setOnPageChangeListener(this); 
... 
} 
} 

내가 implements ViewPager.OnPageChangeListenerform.setOnPageChangeListener(this)하지만, 이러한으로는이 코드는

java.lang.NoClassDefFoundError.. 

이었다 발생을 제거 하중 경우 활동 완전하게 ADT16과 함께 일하면서, 나는 ADT18로 업데이트되었고이 난장판에 빠지게되었다.

+1

추가 jar 파일을 사용합니까? – lrAndroid

+0

프로젝트에 링크 된 것을 지원하기 위해서는 v4 패키지가 필요합니다. –

+2

프로젝트에서'마우스 오른쪽 클릭 '을 해보고,'Android Tools' 그리고 마지막으로'Add Support Library ...'를 시도하십시오. – adneal

답변

2

이 시도 :

프로젝트에 새 폴더 libs를 만들고이 폴더에 모든 외부 JAR 파일을 복사합니다.

그런 다음 Project ->Properties ->Java Build Path을 마우스 오른쪽 버튼으로 클릭하십시오. 여기에서 JAR 파일의 경로를 libs 폴더로 변경하고 컴퓨터 경로에서 제공 한 extrenal jar 파일의 경로를 제거하십시오. 그 후에 그것은 효과가있을 것이다.

참고 : * 이미 프로젝트에 "lib"폴더가있는 경우 "lib"폴더 이름 만 "libs"로 변경하십시오. 당신이 내 지점을 받고 있지 않은 경우 다음 폴더의 site

이름 libs하지 Libs

1

ViewPager.OnPageChangeListener 클래스는 버전 4 (아이스크림 샌드위치) 출신 라이브러리이어야한다 확인. 당신의 프로젝트가 그 프로젝트를 찾지 못해 무언가가 제대로 구성되지 않았습니다. 첫 번째 확인 장소는 "프로젝트 설정"-> Android이며 프로젝트 빌드 타겟에 대해 4.0 또는 4.0.3이 선택되어 있는지 확인하십시오.

가끔 선택한 경우에도 이클립스는 이전 라이브러리를 계속 사용합니다. 확인하는 두 장소는 다음과 같습니다

  1. 귀하의 의 AndroidManifest.xml 파일. target=android-14 :

  2. 이 그런 다음 project.properties 파일을 확인하고 설치되어 있는지 확인하십시오 주요 매니페스트에 android:versionCode="4"이 있는지 확인하고 <uses-sdk android:minSdkVersion="14" /> (최소 14).

또한 libs와 디렉토리에 support-v4.jar 파일을 포함하여 이전의 플랫폼에 추가 4.0 기능을 추가 할 수있는 방법이있다.

위 옵션 중 하나가 문제를 해결해야합니다. 행운을 빕니다!

0

나는 항아리가 필요한 두 번째 클래스를 가졌습니다. 나는 libs 폴더를 검사했는데이 jar 파일이 libs 폴더에 복사되지 않았 음을 알았습니다. 따라서이 두 번째 활동을 시작하려고 할 때마다 NoClassDefFoundError를 받았습니다. libs 폴더에 jar 파일을 복사하면 문제가 해결되었습니다.

관련 문제