0

I'm making an Android app, and now I'm testing it on older devices. I've developed it on AVD with SDK 21, now I'm trying it on AVD with SDK 19 (KitKat). But I get this error on compiling app:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.flaunder.flaunder, PID: 12300
java.lang.NoClassDefFoundError: com.flaunder.flaunder.Fragment_Home
at com.flaunder.flaunder.Pager2.getItem(Pager2.java:20)
at android.support.v4.app.FragmentStatePagerAdapter.instantiateItem(FragmentStatePagerAdapter.java:109)
at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1034)              at android.support.v4.view.ViewPager.populate(ViewPager.java:1182)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1116)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1642)                              at android.view.View.measure(View.java:16497)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:719)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455)                        at android.view.View.measure(View.java:16497)
    ................................

What is located in Pager2.java:

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;

public class Pager2 extends FragmentStatePagerAdapter {
    int mNumOfTabs;

    public Pager2(FragmentManager fm, int NumOfTabs) {
        super(fm);
        this.mNumOfTabs = NumOfTabs;
    }

    @Override
    public Fragment getItem(int position) {

        switch (position) {
            case 0:
                Fragment_Home tab1 = new Fragment_Home(); // LINE 20 IS HERE
                return tab1;
            case 1:
                Fragment_Questions tab2 = new Fragment_Questions();
                return tab2;
            case 2:
                Fragment_Notifications tab3 = new Fragment_Notifications();
                return tab3;
            case 3:
                Fragment_Replies tab4 = new Fragment_Replies();
                return tab4;
            case 4:
                Fragment_Messages tab5 = new Fragment_Messages();
                return tab5;
            default:
                return null;
        }
    }

    @Override
    public int getCount() {
        return mNumOfTabs;
    }

}

I've tried everything, I've added support libraries, updated everything, but my app is not running on KitKat

Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62
Scripy
  • 143
  • 13
  • show your `Fragment_Home ` – IntelliJ Amiya Jun 28 '17 at 11:25
  • @IntelliJAmiya oh, it's 400-lined code, it starts with `public class Fragment_Home extends Fragment implements RecyclerView.OnScrollChangeListener` and there is implemented RecyclerView adapter that gets json from server and displays as CardViews – Scripy Jun 28 '17 at 11:27
  • Your class file is unavailable at run-time. You may see [this](https://stackoverflow.com/questions/17973970/how-to-solve-java-lang-noclassdeffounderror) – Neck Jun 28 '17 at 11:38
  • @Neck so should I use `import com.flaunder.flaunder.Fragment_home`? – Scripy Jun 28 '17 at 11:43

1 Answers1

0

Issue is solved. In Fragment_Home I used Fragment implements RecyclerView.OnScrollChangeListener that SDK 19 not supports, I just added manual scroll listener.

Scripy
  • 143
  • 13