Error inflating class android.support.v4.view.ViewPager
Solution 1
Make sure that you place your libraries in a common folder such as libs in your project.
Right click on the jar, then select Build Path and click on Add to Build Path.
That will add your library to your project. If everything is correct, you can see it in a generated "folder" in the project called "Referenced Libraries"
Solution 2
Go to Project → Properties → Java Build Path
than select Order and Export tab
.
Set android-support-v4.jar
library checked and up it into top of the list. And clean and rebuild..It works for most of the cases
Solution 3
I simply Replaced the code with this and it worked
<androidx.viewpager.widget.ViewPager
android:id="@+id/main_tabPager"
android:layout_width="match_parent">
Solution 4
When We use new adt JARS SHOULD put in folder called "libs"
Then libs -->use as source folder
and your jar > add to build path.
http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17
Related videos on Youtube
thepoosh
A java (mostly) developer at Freightos interested in Android, Flutter, Java, GCP,k8s and anything I can wrap my head around
Updated on December 28, 2020Comments
-
thepoosh over 3 years
I've been trying to create a Pager for my application that runs on
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="15" />
I wrote my code according to this blog post.XML for Pager activity:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/instructionsViewPager" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
Code for adapter:
public class MyPagerAdapter extends PagerAdapter { @Override public int getCount() { // TODO Auto-generated method stub return 2; } @Override public boolean isViewFromObject(View arg0, Object arg1) { return (arg0 == ((View) arg1)); } @Override public void destroyItem(ViewGroup container, int position, Object object) { ((ViewPager) container).removeView((View) object); } @Override public Object instantiateItem(ViewGroup container, int position) { LayoutInflater inflater = (LayoutInflater) container.getContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); int resId = 0; switch (position) { case 1: resId = R.layout.instructions_page1; break; case 2: resId = R.layout.instructions_page2; break; } View view = inflater.inflate(resId, null); ((ViewPager) container).addView(view, 0); return view; } }
Code for activity
public class Instructions extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.instructions); MyPagerAdapter adapter = new MyPagerAdapter(); ViewPager pager = (ViewPager) findViewById(R.id.instructionsViewPager); pager.setAdapter(adapter); pager.setCurrentItem(0); } }
for some reason, when I run this app, I get this following error list:
05-28 09:38:54.535: E/AndroidRuntime(18658): FATAL EXCEPTION: main 05-28 09:38:54.535: E/AndroidRuntime(18658): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.thepoosh/com.thepoosh.Instructions}: android.view.InflateException: Binary XML file line #7: Error inflating class android.support.v4.view.ViewPager 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.os.Handler.dispatchMessage(Handler.java:99) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.os.Looper.loop(Looper.java:123) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.app.ActivityThread.main(ActivityThread.java:3691) 05-28 09:38:54.535: E/AndroidRuntime(18658): at java.lang.reflect.Method.invokeNative(Native Method) 05-28 09:38:54.535: E/AndroidRuntime(18658): at java.lang.reflect.Method.invoke(Method.java:507) 05-28 09:38:54.535: E/AndroidRuntime(18658): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) 05-28 09:38:54.535: E/AndroidRuntime(18658): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 05-28 09:38:54.535: E/AndroidRuntime(18658): at dalvik.system.NativeStart.main(Native Method) 05-28 09:38:54.535: E/AndroidRuntime(18658): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class android.support.v4.view.ViewPager 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.view.LayoutInflater.inflate(LayoutInflater.java:408) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 05-28 09:38:54.535: E/AndroidRuntime(18658): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.app.Activity.setContentView(Activity.java:1663) 05-28 09:38:54.535: E/AndroidRuntime(18658): at com.thepoosh.Instructions.onCreate(Instructions.java:11) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615) 05-28 09:38:54.535: E/AndroidRuntime(18658): ... 11 more 05-28 09:38:54.535: E/AndroidRuntime(18658): Caused by: java.lang.ClassNotFoundException: android.support.v4.view.ViewPager in loader dalvik.system.PathClassLoader[/data/app/com.thepoosh-1.apk] 05-28 09:38:54.535: E/AndroidRuntime(18658): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 05-28 09:38:54.535: E/AndroidRuntime(18658): at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 05-28 09:38:54.535: E/AndroidRuntime(18658): at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.view.LayoutInflater.createView(LayoutInflater.java:471) 05-28 09:38:54.535: E/AndroidRuntime(18658): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570) 05-28 09:38:54.535: E/AndroidRuntime(18658): ... 20 more
so, I know it's failing because I'm using the
android.support.v4.view.ViewPager
, I tried playing with that and changing to plainViewPager
and importingandroid.support.v13
but it didn't help...any thoughts on how to fix this?
-
thepoosh almost 12 yearsthis question was answered about 3 weeks ago... what's the point in copying the accepted answer and re-posting?
-
Admin about 11 yearsThere is a point. Knossos' answer didn't help me, but the bit that says " Set android-support-v4.jar library checked and up it into top of the list." in sheetal's answer helped me a ton. +1 for this answer.
-
Sanjay Bhimani over 9 years@sheetal saved my day. Thank you. +1.