我正在使用TabLayouta 和 a 组合,ViewPager并且我已经为我的选项卡设置了自定义视图。当选择和取消选择选项卡时,一切都按预期工作(自定义视图根据所选/未选择的选项卡而更改)。
问题是在第一次启动时,永远不会调用 onTabSelected 方法。
这是我的活动:
setupViewPager(viewPager);
tabLayout.setupWithViewPager(viewPager);
for (int i = 0; i < tabLayout.getTabCount(); i++) {
tabLayout.getTabAt(i).setCustomView(getViewAt(i));
}
tabLayout.addOnTabSelectedListener(this);
Run Code Online (Sandbox Code Playgroud)
这是setupViewPager和其他方法:
private void setupViewPager(ViewPager viewPager) {
MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getChildFragmentManager(), getContext(), startDate, endDate);
viewPager.setAdapter(adapter);
}
private View getViewAt(int i){
final Date currentDate = CalendarUtility.addDay(startDate, i);
View v = LayoutInflater.from(getContext()).inflate(R.layout.layout_custom_tab, null);
TextView day = (TextView) v.findViewById(R.id.day);
TextView num = (TextView) v.findViewById(R.id.num);
day.setText(CalendarUtility.getDayOfWeek(currentDate));
num.setText(CalendarUtility.getDayOfMonth(currentDate));
return v;
}
@Override
public void onTabSelected(TabLayout.Tab tab) …Run Code Online (Sandbox Code Playgroud)