我在我的應用程序中使用了TabLayout和ViewPager。我想在每次滑動頁面時更改ActionBar標題。我在某種程度上能夠這樣做。我面臨的問題是,在應用程序啓動時,操作欄上顯示的標題是我的應用程序的標題。當我滑過並返回時,標題變成了我分配的內容(正確的)。在TabLayout中啓動應用程序時,特定選項卡的默認「選擇」
因此,假設我的應用程序的標題是'ABC'。在應用程序啓動時,默認操作欄標題顯示爲「ABC」。當我滑過並返回到tab1時,會顯示正確的標題。
我想這可能是因爲在應用程序啓動時,實際上沒有選擇Tab。因此,代碼不起作用。
我也使用了setCurrentItem方法,它在這種情況下沒有什麼好處,因爲它設置了默認頁面,但實際上並沒有幫助'選擇'特定的選項卡。
這裏的代碼片斷,我用
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
public void onPageScrollStateChanged(int state) {}
public void onPageScrolled(int position, float positionOffset, int
positionOffsetPixels) {}
public void onPageSelected(int position) {
final String[] tabTitles={"Favorites", "Friends", "Nearby"};
tabLayout.setNextFocusRightId(position);
setTitle(tabTitles[position]);
}
});