java - TabLayout setText() and setIcon() not working properly with custom view -
i building tab layout custom text , icon. tab layout setup viewpager. followed reference setting custom view. https://developer.android.com/reference/android/support/design/widget/tablayout.tab.html#setcustomview(android.view.view)
but text , icon not updating when set settext() , seticon().
custom_tab.xml
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"> <textview android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="top" android:textcolor="#ffffff" android:textsize="10dp" /> <imageview android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </relativelayout>
mainactivity.java - setuptabicons()
private void setuptabicons() { private int[] tabicons = { r.drawable.ic_art_track_black_24dp, r.drawable.ic_notifications_black_24dp, r.drawable.ic_chat_bubble_black_24dp, r.drawable.ic_person_add_black_24dp }; (int = 0; < 4; i++) { tablayout.gettabat(i).setcustomview(r.layout.custom_tab); tablayout.gettabat(i).seticon(tabicons[i]); tablayout.gettabat(i).settext("random"); } }
am doing wrong? alternative method appreciated.
private void setuptabs() { string[] titles = getresources().getstringarray(r.array.titles); int[] icons = ---- (int = 0; < titles.length; i++) { if (mtablayout != null) { tablayout.tab tab = mtablayout.gettabat(i); if (tab != null) tab.setcustomview(preparetabview(titles[i], icons[i])); } } } private view preparetabview(string title, int icon) { view view = view.inflate(getcontext(), r.layout.list_item_tab, null); textview tabtitle = (textview) view.findviewbyid(r.id.tab_title); imageview tabicon = (imageview ) view.findviewbyid(r.id.tab_icon); tabtitle.settext(title); tabicon.setimageresouce(icon); return view; }
Comments
Post a Comment