TabLayoutの初期タブ
TabLayout tabs = (TabLayout)v.findViewById(R.id.tablayout); tabs.addTab(topTab.newTab().setText("1")); tabs.addTab(topTab.newTab().setText("2")); tabs.addTab(topTab.newTab().setText("3")); tabs.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { switch (tab.getPosition()){ case 0: break; case 1: break; case 2: break; } } });
みなさんの中で、こういう風にAndroidのTabLayout使用している方がいると思います。
そして任意のタブに初期タブを設定するとき
tabs.getTabAt(NUM).select();
なんてしませんか?じゃなきゃ真っ白のままで何も出ませんよね…(ViewPagerと連携していれば別ですが)
しかしこれ先頭の
tabs.getTabAt(0).select();
としても何も出ません。why?
おそらくですが、初期が0番目のタブに設定されているので、0を選択してもタブが変わったと認識されないみたいです…
初期タブを設定するメソッドもなさそうですし、どうしたら先頭を初期タブとして設定できるのでしょうか?…
とりあえずの解決策として自分は
tabs.getTabAt(1).select(); tabs.getTabAt(0).select();
つまり、隣を先に表示して戻ってきてるだけですね(笑)
これだと初期ダブが必ず2個以上必要となりますが動きます。
もっと良い方法は無いですかね、教えて欲しいです…
調べていい方法あったらまた書き込みますね(^^)