我使用2个片段。让我们来说A&乙
在我的活动中:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(true);
getSupportActionBar().setLogo(R.drawable.ic_launcher);
getSupportActionBar().setDisplayShowTitleEnabled(true);
getSupportActionBar().setTitle("Title A");
滑动前有效。片段1:标题栏显示标题A.
在我的片段中:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser == true) {((AppCompatActivity)getActivity()).getSupportActionBar().setTitle("Title B");}
我滑到我的片段B,它完美无缺。标题显示标题B. 现在,我回到片段A,标题保持不变而不是显示标题A(它显示标题B而不是标题A)
但是如果我使用主页按钮触发它,我会使用主页按钮返回,而片段A显示标题A.
代码:
public boolean onOptionsItemSelected(final MenuItem item)
{
// Handle item selection
switch (item.getItemId())
{
case android.R.id.home:
ViewPager pager = (ViewPager)findViewById(R.id.viewpager);
int mycurrentpage = pager.getCurrentItem();
if (mycurrentpage ==0){
pager.setCurrentItem(1, true);
}
if (mycurrentpage ==1){
pager.setCurrentItem(2, true);
}
if (mycurrentpage ==2){
pager.setCurrentItem(3, true);
}
if (mycurrentpage ==3){
pager.setCurrentItem(4, true);
}
if (mycurrentpage ==4){
pager.setCurrentItem(0, true);
getSupportActionBar().setTitle("Title A");
}
return true;
}
.......
我怎样才能让它发挥作用?
感谢您的帮助。
答案 0 :(得分:0)
不要为此覆盖setUserVisibleHint。这种方法不适合做这样的事情。使用PageChangeListener