1

FragmentPagerAdapterにViewPagerを設定するための次のコードを記述しました。FragmentPagerAdapterのフラグメントを更新できません

class ViewPagerAdapter(manager: FragmentManager) : FragmentPagerAdapter(manager) { 

    private val mFragmentList = ArrayList<Fragment>() 
    private val mFragmentTitleList = ArrayList<String>() 

    override fun getItem(position: Int): Fragment = mFragmentList[position] 

    override fun getCount(): Int = mFragmentList.size 

    fun addFragment(fragment: Fragment, title: String) { 
     mFragmentList.add(fragment) 
     mFragmentTitleList.add(title) 
    } 

    fun addFragment(fragment: Fragment) { 
     mFragmentList.add(fragment) 
    } 

    override fun getPageTitle(position: Int): CharSequence = mFragmentTitleList[position] 

} 

と活動で、私は、ビューのページャを設定するには、次の方法があります。

新しいデータセットが入ったら、再度上記のメソッドを呼び出してアダプタを再度変更しますが、すでにインスタンス化されているビューは更新されません。インスタンス化されなかったビューのみが更新されます。

私はさらにnotifyDataSetChange()アダプターに次のコードを追加しようとしましたが、それも動作しません。

override fun getItemPosition(`object`: Any?): Int = FragmentPagerAdapter.POSITION_NONE 
+0

新しいデータを受信すると、コールバックしてフラグメント内のリストを更新できます – Raghunandan

答えて

0

ビューを更新する場合は、adapter.notifyDataSetChanged()を直接呼び出すことができます。

新しいデータを挿入する前にmFragmentListmFragmentTitleListを消去する必要がありますか?

関連する問題