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活动和内容,并显示活动和片段的完整代码