Archived
Added app language support (I think); fragments rely on Bundles instead of constructor parameters to get data, mitigating a source of crashes
This commit is contained in:
@@ -1,19 +1,22 @@
|
||||
package com.denizk0461.studip.adapter
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter
|
||||
import com.denizk0461.studip.fragment.CanteenPageFragment
|
||||
|
||||
|
||||
/**
|
||||
* Custom ViewPager adapter for managing multiple pages of canteen offers.
|
||||
*
|
||||
* @param fragmentActivity parent fragment activity
|
||||
* @param childFragmentManager child fragment manager of the parent fragment
|
||||
* @param lifecycle parent fragment lifecycle
|
||||
*/
|
||||
class CanteenOfferPageAdapter(
|
||||
fragmentActivity: FragmentActivity,
|
||||
) : FragmentStateAdapter(fragmentActivity) {
|
||||
childFragmentManager: FragmentManager,
|
||||
lifecycle: Lifecycle,
|
||||
) : FragmentStateAdapter(childFragmentManager, lifecycle) {
|
||||
|
||||
private var count: Int = 0
|
||||
|
||||
@@ -21,9 +24,11 @@ class CanteenOfferPageAdapter(
|
||||
override fun getItemCount(): Int = count
|
||||
|
||||
override fun createFragment(position: Int): Fragment =
|
||||
CanteenPageFragment(
|
||||
position,
|
||||
)
|
||||
CanteenPageFragment().also { f ->
|
||||
val bundle = Bundle()
|
||||
bundle.putInt("currentDay", position)
|
||||
f.arguments = bundle
|
||||
}
|
||||
|
||||
fun setItemCount(newCount: Int) {
|
||||
count = newCount
|
||||
|
||||
Reference in New Issue
Block a user