내가 가지고 실행시 다음과 같은 오류 : (모든 코드가 결국 표시됩니다.) 다음 줄에java.lang.NoClassDefFoundError가, 안드로이드 스튜디오 2.6.0, 내부 클래스,
java.lang.NoClassDefFoundError: se.domain.climbsweden.Area$MyFragmentPagerAdapter
:
this.mPagerAdapter = new MyFragmentPagerAdapter(f, fragments);
나는 오류가 클래스가 런타임에 사용할 수없는 경우에서 오는 이해하지만 컴파일에 사용할 수있었습니다한다. Android에서도 같은 방식으로 작동합니까? 나는 그것이 내부 클래스이므로이 이상한 것을 발견한다. Android Studio 2.6.0을 사용하고 있습니다.
코드의 목표는 viewpager 및 기본 활동을 사용하여 안드로이드에 보내 주시면 구현하는 것입니다. 그 중 v13 지원 패키지를 사용합니다.
이 오류는 잘못된 수입 지원 라이브러리와 관련 될 수 있습니까?미리 감사드립니다. 이런 종류의 오류는 내게 동기를 부여합니다! 이것은 안드로이드 플러그인 일식과 관련이있을 수
import java.util.List;
import java.util.Vector;
import android.app.Activity;
import android.app.FragmentManager;
import android.os.Bundle;
import android.app.Fragment;
import android.support.v13.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
public class Area extends Activity implements AreaFact.FactListener, AreaWall.WallListener {
private MyFragmentPagerAdapter mPagerAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.activity_area);
this.initialisePaging();
}
/**
* Initialise the fragments to be paged
*/
private void initialisePaging() {
List<Fragment> fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this, AreaFact.class.getName()));
fragments.add(Fragment.instantiate(this, AreaWall.class.getName()));
FragmentManager f = super.getFragmentManager();
this.mPagerAdapter = new MyFragmentPagerAdapter(f, fragments);
//
ViewPager pager = (ViewPager)super.findViewById(R.id.area_pager);
pager.setAdapter(this.mPagerAdapter);
}
private class MyFragmentPagerAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
public MyFragmentPagerAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}
@Override
public int getCount() {
return this.fragments.size();
}
}
}