Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error inflating class com.astuetz.PagerSlidingTabStrip

After I update my Android studio from 2.3.3 to 3.0 and I got this error after compiled and run (rror inflating class com.astuetz.PagerSlidingTabStrip) Please see the Log Error below:

android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class com.astuetz.PagerSlidingTabStrip
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2643)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2709)
                      at android.app.ActivityThread.access$1000(ActivityThread.java:196)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1534)
                      at android.os.Handler.dispatchMessage(Handler.java:111)
                      at android.os.Looper.loop(Looper.java:207)
                      at android.app.ActivityThread.main(ActivityThread.java:5867)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1026)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:887)
                   Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class com.astuetz.PagerSlidingTabStrip
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:545)
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
                      at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:436)
                      at android.app.Activity.setContentView(Activity.java:2205)
                      at com.goalplusapp.goalplus.MainActivity.onCreate(MainActivity.java:325)
                      at android.app.Activity.performCreate(Activity.java:6285)
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2596)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2709) 
                      at android.app.ActivityThread.access$1000(ActivityThread.java:196) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1534) 
                      at android.os.Handler.dispatchMessage(Handler.java:111) 
                      at android.os.Looper.loop(Looper.java:207) 
                      at android.app.ActivityThread.main(ActivityThread.java:5867) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1026) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:887) 
                   Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class com.astuetz.PagerSlidingTabStrip
                      at android.view.LayoutInflater.createView(LayoutInflater.java:654)
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:809)
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:749)
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:880)
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:843)
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:883)
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:843)
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:883)
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:843)
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:521)
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
                      at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:436) 
                      at android.app.Activity.setContentView(Activity.java:2205) 
                      at com.goalplusapp.goalplus.MainActivity.onCreate(MainActivity.java:325) 
                      at android.app.Activity.performCreate(Activity.java:6285) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2596) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2709) 
                      at android.app.ActivityThread.access$1000(ActivityThread.java:196) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1534) 
                      at android.os.Handler.dispatchMessage(Handler.java:111) 
                      at android.os.Looper.loop(Looper.java:207) 
                      at android.app.ActivityThread.main(ActivityThread.java:5867) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1026) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:887) 
                   Caused by: java.lang.reflect.InvocationTargetException
                      at java.lang.reflect.Constructor.newInstance(Native Method)
                      at android.view.LayoutInflater.createView(LayoutInflater.java:628)
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:809) 
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:749) 
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:880) 
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:843) 
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:883) 
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:843) 
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:883) 
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:843) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:521) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
                      at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:436) 
                      at android.app.Activity.setContentView(Activity.java:2205) 
                      at com.goalplusapp.goalplus.MainActivity.onCreate(MainActivity.java:325) 
                      at android.app.Activity.performCreate(Activity.java:6285) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2596) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2709) 
                      at android.app.ActivityThread.access$1000(ActivityThread.java:196) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1534) 
                      at android.os.Handler.dispatchMessage(Handler.java:111) 
                      at android.os.Looper.loop(Looper.java:207) 
                      at android.app.ActivityThread.main(ActivityThread.java:5867) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1026) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:887) 
                   Caused by: java.lang.UnsupportedOperationException: Can't convert to color: type=0x5
                      at android.content.res.TypedArray.getColor(TypedArray.java:451)
                      at com.astuetz.PagerSlidingTabStrip.<init>(PagerSlidingTabStrip.java:144)
                      at com.astuetz.PagerSlidingTabStrip.<init>(PagerSlidingTabStrip.java:106)
                      at java.lang.reflect.Constructor.newInstance(Native Method) 
                      at android.view.LayoutInflater.createView(LayoutInflater.java:628) 
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:809) 
                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:749) 
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:880) 
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:843) 
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:883) 
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:843) 
                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:883) 
                      at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:843) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:521) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
                      at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
                      at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:436) 
                      at android.app.Activity.setContentView(Activity.java:2205) 
                      at com.goalplusapp.goalplus.MainActivity.onCreate(MainActivity.java:325) 
                      at android.app.Activity.performCreate(Activity.java:6285) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2596) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2709) 
                      at android.app.ActivityThread.access$1000(ActivityThread.java:196) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1534) 
                      at android.os.Handler.dispatchMessage(Handler.java:111) 
                      at android.os.Looper.loop(Looper.java:207) 
                      at android.app.ActivityThread.main(ActivityThread.java:5867) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1026) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:887) 
like image 963
ralph danding Avatar asked Oct 29 '17 22:10

ralph danding


2 Answers

Try to change your .xml with this info:

<com.astuetz.PagerSlidingTabStrip
      android:id="@+id/tabs_quotation_track"
      android:layout_width="match_parent"
      android:layout_height="48dip"
      android:background="@drawable/background_tabs"
      android:layout_marginTop="20dp"/>

In my case the problem was with Android devices 7.0, and i was using

    <com.astuetz.PagerSlidingTabStrip
         android:id="@+id/tabs_quotation_track"
         android:layout_width="match_parent"
         android:layout_height="48dip"
         android:background="@drawable/background_tabs"
         app:pstsShouldExpand="true"/>

I think the problem ws pstsShouldExpand, or that is necesary the margin top.

Regards.

like image 61
Max Pinto Avatar answered Oct 17 '22 20:10

Max Pinto


you can leave dependency reference in gradle but do not inflate using inflater (seems to me the problem exists in inflating the slider tabs from XLM file) rather create the tabsliding object using code inside your activity onCreate, the problem starts when you inflate from XLM.

This is what I successfully did:

1) set your activity contentview to empty linearlayout XLM file

   setContentView(R.layout.pagerslidingtabstrip_viewpager);

2) find the layout and save it in variable

   LinearLayout mainLayout = (LinearLayout) findViewById(R.id.main_layout_view);

3) inflate your viewpager from separate XLM file than contains only the viewpager element

    mLayoutInflater = getLayoutInflater();
    mInflatedViewPagerLayout =  mLayoutInflater.inflate(R.layout.separate_viewpager,null);
    mViewPager = mInflatedViewPagerLayout.findViewById(R.id.viewpager);

4) create and configure your sliding tabs from code

    mTabStripLayout = new PagerSlidingTabStrip(this);
    mTabStripLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 140));
    mTabStripLayout.setShouldExpand(true);
    mTabStripLayout.setAllCaps(true);
    mTabStripLayout.setTextSize(60);
    mTabStripLayout.setTextColor(Color.BLACK);
    mTabStripLayout.setDividerColor(Color.BLUE);
    mTabStripLayout.setDividerPadding(30);
    mTabStripLayout.setIndicatorColor(Color.RED);
    mTabStripLayout.setIndicatorHeight(15);
    mTabStripLayout.setUnderlineColor(Color.BLUE);

4) add sliding tabs and viewpager in same order to linearlayout

    mainLayout.addView(mTabStripLayout);
    mainLayout.addView(mViewPager);

5) complete remaining setup as usual like creating adapter, assigning adapter to viewpager, and assigning viewpager to sliding tabs

    mPagerAdapter = new SampleFragmentPagerAdapter2(getSupportFragmentManager());
    mViewPager.setAdapter(mPagerAdapter);
    mTabStripLayout.setViewPager(mViewPager);
like image 22
ams73 Avatar answered Oct 17 '22 20:10

ams73