package com.dano.test1 import android.content.Context import android.view.View import android.text.Html import android.widget.* class HandlerRadioQuestion( private val context: Context, private val answers: MutableMap, private val points: MutableList, private val languageID: String, private val goToNextQuestion: () -> Unit, private val goToPreviousQuestion: () -> Unit, private val goToQuestionById: (String) -> Unit, private val showToast: (String) -> Unit ) : QuestionHandler { private lateinit var layout: View private lateinit var question: QuestionItem.RadioQuestion override fun bind(layout: View, question: QuestionItem) { this.layout = layout this.question = question as QuestionItem.RadioQuestion val radioGroup = layout.findViewById(R.id.RadioGroup) val questionTextView = layout.findViewById(R.id.textView) val questionTitle = layout.findViewById(R.id.question) questionTextView.text = question.textKey?.let { LanguageManager.getText(languageID, it) } ?: "" questionTitle.text = question.question?.let { Html.fromHtml(LanguageManager.getText(languageID, it), Html.FROM_HTML_MODE_LEGACY) } ?: "" radioGroup.removeAllViews() question.options.forEach { option -> val radioButton = RadioButton(context).apply { text = LanguageManager.getText(languageID, option.key) tag = option.key layoutParams = RadioGroup.LayoutParams( RadioGroup.LayoutParams.MATCH_PARENT, RadioGroup.LayoutParams.WRAP_CONTENT ).apply { val scale = context.resources.displayMetrics.density val margin = (16 * scale + 0.5f).toInt() setMargins(0, 0, 0, margin) } } radioGroup.addView(radioButton) } restorePreviousAnswer(radioGroup) layout.findViewById