android - CircleImageView crashes when used as tablayout -
i have xml set below.
tab_icon_simple.xml:
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:gravity="center" android:layout_height="match_parent"> <imageview android:id="@android:id/icon" android:layout_width="@dimen/size_tab_image" android:scaletype="fitcenter" android:layout_height="@dimen/size_tab_image"/> // add circleimageview here conditionally use render profile image. cover default imageview icon. <de.hdodenhof.circleimageview.circleimageview android:id="@+id/profile_icon" android:layout_width="@dimen/size_tab_image" android:scaletype="fitcenter" android:visibility="gone" android:layout_height="@dimen/size_tab_image" /> </relativelayout>
in side of code, use xml above "customview" tablayout,
mtablayout.gettabat(0).setcustomview(r.layout.tab_icon_simple).seticon(someicon1); mtablayout.gettabat(1).setcustomview(r.layout.tab_icon_simple).seticon(someicon2); mtablayout.gettabat(2).setcustomview(r.layout.tab_icon_simple).seticon(someicon3);
however, whenever code execute .setcustomview, android crashes immediately. looks android unable inflate circleimageview? should do.
java.lang.runtimeexception: unable start activity componentinfo{com.getcharly.android.user/com.getcharly.android.view.activity.main.mainactivity_}: android.view.inflateexception: binary xml file line #13: error inflating class <unknown> @ android.app.activitythread.performlaunchactivity(activitythread.java:2331) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2393) @ android.app.activitythread.access$800(activitythread.java:151) @ android.app.activitythread$h.handlemessage(activitythread.java:1309) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:135) @ android.app.activitythread.main(activitythread.java:5351) @ java.lang.reflect.method.invoke(native method) @ java.lang.reflect.method.invoke(method.java:372) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:908) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:703) caused by: android.view.inflateexception: binary xml file line #13: error inflating class <unknown> @ android.view.layoutinflater.createview(layoutinflater.java:633) @ uk.co.chrisjenx.calligraphy.calligraphylayoutinflater.createcustomviewinternal(calligraphylayoutinflater.java:211) @ uk.co.chrisjenx.calligraphy.calligraphylayoutinflater.access$000(calligraphylayoutinflater.java:20) @ uk.co.chrisjenx.calligraphy.calligraphylayoutinflater$privatewrapperfactory2.oncreateview(calligraphylayoutinflater.java:302) @ android.view.layoutinflater$factorymerger.oncreateview(layoutinflater.java:177) @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:733) @ android.view.layoutinflater.rinflate(layoutinflater.java:806) @ android.view.layoutinflater.inflate(layoutinflater.java:504) @ uk.co.chrisjenx.calligraphy.calligraphylayoutinflater.inflate(calligraphylayoutinflater.java:60) @ android.view.layoutinflater.inflate(layoutinflater.java:414) @ android.support.design.widget.tablayout$tab.setcustomview(tablayout.java:1326) @ com.my.android.app.view.activity.main.fragment.mainfragment.setuptablayout(mainfragment.java:277)
turns out xml
android:scaletype="fitcenter"
in circleimageview breaking it.
Comments
Post a Comment