Android ActionBar标题不会从PageChangeListener更改

Android ActionBar标题不会从PageChangeListener更改,android,android-actionbar,Android,Android Actionbar,我得到了一个幻灯片布局,我想在每次更改选项卡时更改操作栏的标题。我试过这个: tabs.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { switch(position) { case 0:

我得到了一个
幻灯片布局
,我想在每次更改选项卡时更改操作栏的标题。我试过这个:

tabs.setOnPageChangeListener(new OnPageChangeListener() 
{

        @Override
        public void onPageSelected(int position) 
        {

             switch(position)
             {
               case 0:
               getActivity().getActionBar().setTitle("title 0");
               case 1:
               getActivity().getActionBar().setTitle("title 1")
               case 2:
               getActivity().getActionBar().setTitle("title 2");
               case 3:
               getActivity().getActionBar().setTitle("title 3");       
            } 

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onPageScrollStateChanged(int pos) {
                    // TODO Auto-generated method stub

                }
});
调试时,我确实看到调用了代码,但标题没有更改。当试图从代码中的其他位置设置标题时,它确实起作用。 我做的有什么问题吗?

试试这个:

创建时的活动

 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
 setSupportActionBar(toolbar);
tabs.setOnPageChangeListener(new OnPageChangeListener() {

                @Override
                public void onPageSelected(int position) {

                 switch(position){
                 case 0:
                 getActivity().getSupportActionBar().setTitle("title 0");
                 break;
                 case 1:
                 getActivity().getSupportActionBar().setTitle("title 1")
                 break;
                 case 2:
                 getActivity().getSupportActionBar().setTitle("title 2");
                 break;
                 case 3:
                 getActivity().getSupportActionBar().setTitle("title 3");
                 break;

                }

                @Override
                public void onPageScrolled(int arg0, float arg1, int arg2) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onPageScrollStateChanged(int pos) {
                    // TODO Auto-generated method stub

                }
            });
您的代码

 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
 setSupportActionBar(toolbar);
tabs.setOnPageChangeListener(new OnPageChangeListener() {

                @Override
                public void onPageSelected(int position) {

                 switch(position){
                 case 0:
                 getActivity().getSupportActionBar().setTitle("title 0");
                 break;
                 case 1:
                 getActivity().getSupportActionBar().setTitle("title 1")
                 break;
                 case 2:
                 getActivity().getSupportActionBar().setTitle("title 2");
                 break;
                 case 3:
                 getActivity().getSupportActionBar().setTitle("title 3");
                 break;

                }

                @Override
                public void onPageScrolled(int arg0, float arg1, int arg2) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onPageScrollStateChanged(int pos) {
                    // TODO Auto-generated method stub

                }
            });
解决您的问题?

尝试以下方法:

创建时的活动

 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
 setSupportActionBar(toolbar);
tabs.setOnPageChangeListener(new OnPageChangeListener() {

                @Override
                public void onPageSelected(int position) {

                 switch(position){
                 case 0:
                 getActivity().getSupportActionBar().setTitle("title 0");
                 break;
                 case 1:
                 getActivity().getSupportActionBar().setTitle("title 1")
                 break;
                 case 2:
                 getActivity().getSupportActionBar().setTitle("title 2");
                 break;
                 case 3:
                 getActivity().getSupportActionBar().setTitle("title 3");
                 break;

                }

                @Override
                public void onPageScrolled(int arg0, float arg1, int arg2) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onPageScrollStateChanged(int pos) {
                    // TODO Auto-generated method stub

                }
            });
您的代码

 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
 setSupportActionBar(toolbar);
tabs.setOnPageChangeListener(new OnPageChangeListener() {

                @Override
                public void onPageSelected(int position) {

                 switch(position){
                 case 0:
                 getActivity().getSupportActionBar().setTitle("title 0");
                 break;
                 case 1:
                 getActivity().getSupportActionBar().setTitle("title 1")
                 break;
                 case 2:
                 getActivity().getSupportActionBar().setTitle("title 2");
                 break;
                 case 3:
                 getActivity().getSupportActionBar().setTitle("title 3");
                 break;

                }

                @Override
                public void onPageScrolled(int arg0, float arg1, int arg2) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onPageScrollStateChanged(int pos) {
                    // TODO Auto-generated method stub

                }
            });

解决您的问题?

工具栏是片段活动的一部分。。它本身不是布局的一部分。您可以创建自定义工具栏吗??如果你想的话,我会告诉你的。我不知道如何创建一个自定义的。FragmentActivity自带了一个ActionBar。。我甚至不知道如果已有一个操作栏,为什么需要设置一个新的操作栏。顺便说一句,主活动没有“setSupportActionBar”方法。此外,选项卡是片段的一部分,而片段是单个活动中的多个片段之一。好的,请显示您的xml活动和内容,并显示活动和片段的完整代码工具栏是片段活动的一部分。。它本身不是布局的一部分。您可以创建自定义工具栏吗??如果你想的话,我会告诉你的。我不知道如何创建一个自定义的。FragmentActivity自带了一个ActionBar。。我甚至不知道如果已有一个操作栏,为什么需要设置一个新的操作栏。顺便说一句,主活动没有“setSupportActionBar”方法。此外,选项卡是片段的一部分,片段是单个活动中的多个片段之一。好的,请显示您的xml活动和内容,并显示活动和片段的完整代码