簡體   English   中英

在TabLayout中啟動應用程序時默認“選擇”特定選項卡

[英]Default “selection” of a particular tab on launch of app in TabLayout

我在應用程序中使用了TabLayout和ViewPager。 我想在每次滑動頁面時更改ActionBar標題。 我已經做到了一定程度。 我面臨的問題是,在啟動應用程序時,操作欄上顯示的標題就是我的應用程序的標題。 當我前后滑動時,標題即為我分配的標題(正確的標題)。

因此,假設我的應用程序的標題為“ ABC”。 應用啟動時,默認操作欄標題顯示為“ ABC”。 當我滑動並返回至tab1時,將顯示正確的標題。

我認為這可能是因為在啟動應用程序時,實際上沒有“選擇”選項卡。 因此,該代碼不起作用。

我還使用了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]);
        }
    });

您的public void onPageSelected(int position)將在安裝時被調用。 您需要將圖塊設置為默認選擇。

只需在設置偵聽器之后或什至之前調用setTitile()方法,並選擇第一個標題或默認選項卡即可。

假設您的默認(第一個)標題是“收藏夾”,您可以調用

setTitle("Favorites");

作為上述代碼的第一行或最后一行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM