我在运行时遇到以下错误:(所有代码最后都会显示。)
java.lang.NoClassDefFoundError: se.domain.climbsweden.Area$MyFragmentPagerAdapter
在以下行:
this.mPagerAdapter = new MyFragmentPagerAdapter(f, fragments);
据我所知,错误来自于某个类在运行时不可用但在编译时可用。它在Android中是否以相同的方式工作?我发现这很奇怪,因为它是一个内在的阶级。我使用的是Android Studio 2.6.0。
代码的目标是使用viewpager和本机活动在Android中实现滑动。其中使用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();
}
}
}
答案 0 :(得分:1)
从SDK_PATH \ extras \ android \ support \ v13复制“android-support-v13.jar”;如果它不存在,请使用SDK管理器将“Extras / Android Support Library”安装或更新到lib /文件夹中。
如果它运作良好。(为我工作)
如果它给出了与v4 classnotfound异常相关的错误,那么 - &gt; 从SDK_PATH \ extras \ android \ support \ v4复制“android-support-v4.jar”;如果它不存在,请使用SDK管理器将“Extras / Android Support Library”安装或更新到lib /文件夹中
答案 1 :(得分:0)
这可能与eclipse android插件有关,类似于stackoverflow: Android java.lang.NoClassDefFoundError