Reputation: 465
I want in my application to set A viewPager and pager adapter, but I cant implement it because I cant use fragmentManager. i get the following err:
"Error:(45, 38) Classifier 'FragmentManager' does not have a companion object, and thus must be initialized here"
my code is:
import android.support.v4.app.Fragment
import android.support.v4.app.FragmentManager
private lateinit var pagerAdapter: mPagerAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
pagerAdapter = mPagerAdapter(FragmentManager) // err is here
viewPager.adapter = pagerAdapter
}
class mPagerAdapter(fragmentManager: FragmentManager) :
FragmentStatePagerAdapter(fragmentManager) {
// 2
override fun getItem(position: Int): Fragment {
when (position) {
0 -> return Tab1() as Fragment
1 -> return Tab2() as Fragment
2 -> return Tab3() as Fragment
}
return Tab1() as Fragment
}
// 3
override fun getCount(): Int {
return 3
}
}
what should I do to solve this?
Upvotes: 1
Views: 6926
Reputation: 200130
FragmentManager
is the class name. fragmentManager
, with a lowercase 'f', is the property reference to the getFragmentManager()
method.
You want to instead use supportFragmentManager
(as getFragmentManager()
returns the Framework FragmentManager
, not the Support Library FragmentManager
):
pagerAdapter = mPagerAdapter(supportFragmentManager)
Upvotes: 5