Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class FragmentTabsPager(fm: FragmentManager) : FragmentStatePagerAdapter(fm) {
- private var myPhotosFragment = WeakReference<MyPhotosFragment>(null)
- private var receivedPhotosFragment = WeakReference<ReceivedPhotosFragment>(null)
- private var galleryFragment = WeakReference<GalleryFragment>(null)
- fun getMyPhotosFragment(): MyPhotosFragment? {
- return myPhotosFragment.get()
- }
- override fun getItem(position: Int): Fragment {
- when (position) {
- 0 -> {
- Timber.e("Page 0")
- if (myPhotosFragment.get() != null) {
- return myPhotosFragment.get()!!
- }
- val fragment = MyPhotosFragment.newInstance()
- myPhotosFragment = WeakReference(fragment)
- return fragment
- }
- 1 -> {
- Timber.e("Page 1")
- if (receivedPhotosFragment.get() != null) {
- return receivedPhotosFragment.get()!!
- }
- val fragment = ReceivedPhotosFragment.newInstance()
- receivedPhotosFragment = WeakReference(fragment)
- return fragment
- }
- 2 -> {
- Timber.e("Page 2")
- if (galleryFragment.get() != null) {
- return galleryFragment.get()!!
- }
- val fragment = GalleryFragment.newInstance()
- galleryFragment = WeakReference(fragment)
- return fragment
- }
- else -> throw IllegalArgumentException("No fragment for the current position $position")
- }
- }
- override fun getCount(): Int = 3
- }
Add Comment
Please, Sign In to add comment