Huli's Blog

Learning by sharing

[Android] viewpager切換頁面,action bar延遲現象

| Comments

我用Viewpager搭配action bar的tab來做fragment之間的切換
每個Fragment都加上setHasOptionsMenu(true);,讓每個fragment都有自己對應的Action Bar
但是卻有個問題,那就是用ViewPager滑到Framgent上的時候,會延遲個一秒才換成新的Action bar
這點看了實在是很不順眼

解法是把action bar切換的地方寫在Activity裡面

@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
    invalidateOptionsMenu();
}
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        int position = viewPager.getCurrentItem();
        if(position==0) {
            getMenuInflater().inflate(R.menu.friend, menu);
        }else if(position==1){
            getMenuInflater().inflate(R.menu.chat, menu);
        }else{

        }
        return super.onCreateOptionsMenu(menu);
    }

這樣就可以流暢的切換action bar了

Comments

comments powered by Disqus