我有一个SlidingTabLayout
,我想在每次更改标签时更改ActionBar的标题。我试过这个:
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
}
});
调试时我确实看到了被调用的代码,但标题没有改变。当尝试从代码中的其他位置设置标题时,它确实有效。 我做了什么问题是什么?
答案 0 :(得分:0)
试试这个:
活动OnCreate
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
}
});
解决您的问题?