TabLayout update tab content with a custom view

后端 未结 4 1100
悲&欢浪女
悲&欢浪女 2021-02-01 03:48

I\'m using TabLayout of the new material design and i have a problem, i can\'t update tab content of a custom view once the tab is created:

I can simplify m

4条回答
  •  刺人心
    刺人心 (楼主)
    2021-02-01 04:34

    Ok I think it's bug on android design support library v22.

    Because You are talking about the changes in content but I can't change the color of Text. Once the tab are created and if you change the layout it will not reflecting.

    And As i have seen your code you are giving the custom layout using setCustomView. and for changing a text you are calling again the method setTabView(). Instead of that there should be method getCustomView() so that you can change the layout. There is a method in a TabLayout.Tab.getCustomView but it doesn't have identifier and I have report this bug.

    https://code.google.com/p/android/issues/detail?id=177492

    [Update 08-07-2015]

    Finally bug is accepted by android bug source traking and marked as Future Release . So we can say that bug will no more exist on future library. and we can have method getCustomView() so that we can easily get our custom view.

    [Update 18-08-2015]

    Finally the bug is resolved Released in the v23 support libs . Just update support library using SDK manager and you have getCustomView() as a public.

    just change this line in gradle

    compile 'com.android.support:design:23.0.0'
    

    and make sure compile and target sdk set to 23.

    please check my code working fine for me

    TabLayout.Tab tab=tabLayout.getTabAt(position);         
    View view=tab.getCustomView();         
    TextView txtCount= (TextView) 
    view.findViewById(R.id.txtCount);         
    txtCount.setText(count+"");
    

提交回复
热议问题