java - 如何修复工具栏在选择另一个选项卡之前不更改标题的问题?

标签 java android android-toolbar

我的应用程序遇到问题。我希望该应用程序在不同的选项卡工具栏上显示不同的标题,我完全做到了。问题是当我运行应用程序时,我需要切换选项卡以使 setTitle 工作。我希望默认情况下,当应用程序运行时,它应该将工具栏标题显示为主页。

这是我的代码

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {


private Toolbar mToolbar;

private TabLayout tabLayout = null;
private ViewPager viewPager = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    mToolbar = (Toolbar) findViewById(R.id.main_page_toolbar);
    setSupportActionBar(mToolbar);
    getSupportActionBar().setTitle("Debanjan Vlogs");
    mToolbar.setTitleTextColor(0xFFFFFFFF);



    tabLayout = (TabLayout) findViewById(R.id.tab_layout);
    viewPager = (ViewPager) findViewById(R.id.viewPager);

    //setting the tabs title
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.ic_home_black_24dp));
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.ic_video_library));
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.ic_live_tv));
    tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.ic_info));

    //setup the view pager
    final PagerAdapter adapter = new com.joy.skylake.utube.adapters.PagerAdapter(getSupportFragmentManager(),tabLayout.getTabCount());
    viewPager.setAdapter(adapter);
    viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

    tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            switch (tab.getPosition()) {

                case 0:
                    viewPager.setCurrentItem(0);
                    mToolbar.setTitle("Home");
                    break;
                case 1:
                    viewPager.setCurrentItem(1);
                    mToolbar.setTitle("Playlist");
                    break;
                case 2:
                    viewPager.setCurrentItem(2);
                    mToolbar.setTitle("Live");
                    break;
                case 3:
                    viewPager.setCurrentItem(3);
                    mToolbar.setTitle("About");
                    break;
            }
            viewPager.setCurrentItem(tab.getPosition());
            tab.getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN);
        }

        @Override
        public void onTabUnselected(TabLayout.Tab tab) {
            tabLayout.getTabAt(0).getIcon().clearColorFilter();
            tab.getIcon().clearColorFilter();

        }

        @Override
        public void onTabReselected(TabLayout.Tab tab) {

        }
    });




}

有什么解决办法吗?

最佳答案

而不是使用

mToolbar.setTitle("About");

试试这个

getSupportActionBar().setTitle("About");

关于java - 如何修复工具栏在选择另一个选项卡之前不更改标题的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49577106/

相关文章:

JavaFX ControlsFx 添加自定义 CSS(通知)

java - 如果用户想要为文件添加新记录,我如何询问他们?

java - 从 java 调用 shell 脚本挂起

java - 如何设置 setContentView();去

安卓应用程序初始化

android - 使用 Fragment Tabs 将 Model View Presenter 模式应用到 Android

android - 按主题或样式更改工具栏导航图标色调或颜色

java - RXJava2 阻塞流,直到满足条件

android - 同时使用 float 操作按钮、滑动刷新布局以及协调器布局和工具栏布局行为

android - Lollipop 之前的设备中未出现工具栏