ncapdevi将TabLayout
与FragNav结合使用。我在TabLayout
中有4个标签,其中Tab A
是初始标签。
这是我初始化标签页的方式
private void initTab() {
if (bottomTabLayout != null) {
for (int i = 0; i < TABS.length; i++) {
bottomTabLayout.addTab(bottomTabLayout.newTab());
TabLayout.Tab tab = bottomTabLayout.getTabAt(i);
if (tab != null)
tab.setCustomView(getTabView(i));
}
}
}
private View getTabView(int position) {
View view = LayoutInflater.from(this).inflate(R.layout.home_item_bottom, new ConstraintLayout(this));
AppCompatImageView icon = view.findViewById(R.id.home_item_bottom_icon);
CustomFontTextView name = view.findViewById(R.id.home_item_bottom_name);
icon.setImageDrawable(ContextCompat.getDrawable(this, mTabIconsSelected[position]));
name.setText(TABS[position]);
return view;
}
我在addOnTabSelectedListener
中使用TabLayout
,并且在按任意一个选项卡时都会按预期工作。
按时间顺序排列:
按标签B,OnTabSelectedListener
称为
按回去,我返回A
再次按标签B,OnTabReselectedListener
称为
我不希望这种情况发生,因为它不是相同的选项卡(从A按下B,但是就像我重新选择了相同的选项卡一样。)
我的代码有什么问题吗?如果我的应用程序中需要任何对解决此问题至关重要的代码,请告诉我,我将其发布在这里:)