溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

fragment中套用PagerSlidingTabStrip,切換底部時(shí)viewpager消失的解決

發(fā)布時(shí)間:2020-07-13 14:23:00 來(lái)源:網(wǎng)絡(luò) 閱讀:1647 作者:niceheart 欄目:開發(fā)技術(shù)

    今天在開發(fā)時(shí)遇上一個(gè)問(wèn)題,我用的框架是底部菜單四個(gè)按鈕+fragment,然后主頁(yè)中的fragment套用了PagerSlidingTabStrip,PagerSlidingTabStrip中是用Viewpager+Tab組合進(jìn)行點(diǎn)擊切換頁(yè)面或者滑動(dòng)切換菜單,就這樣實(shí)現(xiàn)了我想要的功能,可是當(dāng)我在底部菜單中相互切換時(shí),PagerSlidingTabStrip中的Viewpeger消失了,這是怎么產(chǎn)生的呢?官方的Demo沒有組合起來(lái)使用,所以沒有問(wèn)題,現(xiàn)在組合后問(wèn)題就出來(lái)了,我換用了幾個(gè)方法都沒有解決,后來(lái)在查的過(guò)程中發(fā)現(xiàn)了這個(gè)問(wèn)題。

    原來(lái)Demo是在activity中使用的,所以用法如下:

noScrollPager.setAdapter(new TabSeclectAdapter(getSupportFragmentManager(),titles));

pagerSlidingTabs.setViewPager(noScrollPager);

   現(xiàn)在我是使用到fragment中來(lái)了,fragment中是沒有g(shù)etSupportFragmentManager()這個(gè)方法的,所以當(dāng)時(shí)就按照提示替換成了getFragmentManager(),這樣代碼沒有錯(cuò),初始化進(jìn)來(lái)的時(shí)候也沒有問(wèn)題,可是當(dāng)我反復(fù)切換底部菜單的時(shí)候,再返回到主頁(yè)面,這個(gè)Viewpager就消失了,經(jīng)過(guò)多方排查后,將此處改變一下問(wèn)題就解決

noScrollPager.setAdapter(new TabSeclectAdapter(getChildFragmentManager(),

arrTitles));

pagerSlidingTabs.setViewPager(noScrollPager);

   如此問(wèn)題解決,其實(shí)這個(gè)問(wèn)題也是我無(wú)意中暴露出來(lái)的,如果當(dāng)時(shí)直接替換成了getChildFragmentManager(),這個(gè)問(wèn)題就不會(huì)出來(lái)了,但是不出來(lái)也讓我發(fā)現(xiàn)不了這樣的問(wèn)題,所以平時(shí)中的問(wèn)題若有若現(xiàn),一切都在變化中,后來(lái)我發(fā)現(xiàn)了一篇博客,問(wèn)題跟我的一樣,如果我敘述中有不了解的,可以參考一下這篇博客,博主還附加圖片,本人因現(xiàn)在的項(xiàng)目的原因,不便出圖,還處于保密階段,望諒解!

   參考博客:http://blog.csdn.net/mybook1122/article/details/24003343



向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI