繁体   English   中英

java.lang.NoClassDefFoundError,Android Studio 2.6.0,Inner class,

[英]java.lang.NoClassDefFoundError, Android Studio 2.6.0, Inner class,

我在运行时遇到以下错误:(所有代码都显示在最后。)

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();
        }

    }
}

从SDK_PATH \\ extras \\ android \\ support \\ v13复制“android-support-v13.jar”; 如果它不存在,请使用SDK管理器将“Extras / Android Support Library”安装或更新到lib /文件夹中。

如果它工作那么好。(为我工作)

如果它给出了与v4 classnotfound异常相关的错误,那么 - >从SDK_PATH \\ extras \\ android \\ support \\ v4复制“android-support-v4.jar”; 如果它不存在,请使用SDK管理器将“Extras / Android Support Library”安装或更新到lib /文件夹中

这可能与eclipse android插件有关,类似于stackoverflow: Android java.lang.NoClassDefFoundError

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM