0

私はTabLayoutViewPagerをAndroidで使用しています。コードを実行するたびに、TabLayoutインジケータが奇妙に動作しています。次のタブに自動スナップする代わりに、水平スクロールバーのように動作します。だから私は文字通り2つのタブの間にぶら下がっているTabLayoutインジケータがあります。そしてエラーはありません。ここに私のコードは次のとおりです。奇妙なAndroid TabLayoutインジケータスクロールバグ

マイonCreate()方法:

val tabLayout = findViewById<TabLayout>(R.id.tl) 
val viewPager = findViewById<ViewPager>(R.id.vp) 

viewPager.adapter = AmpPagerAdapter(supportFragmentManager) 
tabLayout.setupWithViewPager(viewPager) 

val icons = arrayOf(R.drawable.ic_hot_24dp, R.drawable.ic_person_24dp) 
icons.forEachIndexed { index, i -> tabLayout.getTabAt(index)?.setIcon(i) } 

マイFragmentPagerAdapter:

class AmpPagerAdapter(fm: FragmentManager) : FragmentPagerAdapter(fm) { 

    private val pages = arrayListOf(Fragment(), Fragment()) 
    override fun getItem(position: Int): Fragment = pages[position] 
    override fun getCount(): Int = pages.size 
} 

まず私は、私はあまりにも多くのタブを追加したと思ったが、それは私のページの配列としてそうではありませんリストの長さは2です。タブをクリックすると、インジケータが正常に機能します。

問題点を教えてください。

答えて

0

いいえ、問題は、FragmentPagerAdapterにデフォルトのFragmentクラス、つまりにレイアウトが添付されていないことでした。自分の断片を作り、レイアウトを膨張させたとき、TabLayoutインジケータが正しく動作するようになりました。

実際の問題は、は膨らんだレイアウトがないことでした。そのため、デフォルトのFragmentクラスを埋めることが問題でした。

関連する問題