Как я могу динамически фрагментировать в адаптере макета Stepper
Я пользуюсь библиотекой com.stepstone.stepper:material-stepper:4.3.1
С https://github.com/stepstone-tech/android-material-stepper
И у меня есть проблема. Я хочу использовать эту библиотеку для создания формы в моем приложении для Android. Я запрашиваю запрос на запуск службы на стороне сервера. Я следовал инструкциям и шагам на странице библиотеки github.
Это мой код:
class SesiWawancaraAdapter(fm : FragmentManager, context : Context) : AbstractFragmentStepAdapter(fm, context) {
private var mDaftarQuisioner : MutableList<ListPertanyaan> = arrayListOf()
override fun createStep(position: Int): Step? {
when(position) {
0 -> SesiWawancaraStepper("this is Variable Page 1",null)
1 -> SesiWawancaraStepper("this is Variable Page 2",null)
2 -> SesiWawancaraStepper("this is Variable Page 3",null)
else -> {
throw IllegalArgumentException("Unsupported position: " + position)
}
}
return null
}
override fun getCount(): Int {
return 3
}
override fun getViewModel(@IntRange(from = 0) position: Int): StepViewModel {
//Override this method to set Step title for the Tabs, not necessary for other stepper types
return StepViewModel.Builder(context)
.setTitle(R.string.app_name) //can be a CharSequence instead
.create()
}
}
Теперь я хочу заполнить изменяемые переменные, которые находятся на адаптере, чтобы данные во фрагменте могли быть сгенерированы из формата json из ответа json с сервера. Пример JSON, как это:
[
{"title","contentText"},
{"title","contentText"},
{"title","contentText"},
{"title","contentText"}
]
и у меня есть такой фрагмент
@SuppressLint("ValidFragment")
class SesiWawancaraStepper(private var mPetujukSoal : String?, private var mPertanyaan : String?, private var mJawaban : JSONObject?) : Fragment(), Step {
private lateinit var v : View
private lateinit var petunjuksoal : TextView
private lateinit var pertanyaansoal : TextView
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
v = inflater.inflate(R.layout.fragment_feature_survey_sesiwawancara_stepper, container, false)
petunjuksoal = v.findViewById(R.id.petunjuksoal)
pertanyaansoal = v.findViewById(R.id.pertanyaan)
petunjuksoal.text = mPetujukSoal
pertanyaansoal.text = mPertanyaan
return v
}
override fun onSelected() {
}
override fun verifyStep(): VerificationError? {
return null
}
override fun onError(error: VerificationError) {
}
}