Я исхожу из Swift и пытаюсь понять Kotlin.
В iOS у меня был сборщик, который отображал ключи и сохранял значения в @State object
Как я могу использовать EditText, чтобы сделать то же самое, но избежать ошибок, введенных пользователем?
Может ли этот условный оператор быть Enum в Kotlin для других карт / словарей ScoreModel?
class NewAcftActivity: AppCompatActivity () {
реализовал такую модель, не уверен, что это Kotlin протокол.
private val scoreModel = ScoreModel()
private lateinit var textEditMdl: EditText
игнорировать остальные представления TextEdit, если первое представление решает остальную проблему
private lateinit var textEditSpt: EditText
private lateinit var textEditHrp: EditText
private lateinit var textEditSdc: EditText
private lateinit var textEditLtk: EditText
private lateinit var textEditTmr: EditText
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_new_acft)
textEditMdl = findViewById(R.id.newAcft_textEdit_mdl)
Другие правки текста ...
textEditSpt = findViewById(R.id.newAcft_textEdit_spt)
textEditHrp = findViewById(R.id.newAcft_textEdit_hrp)
textEditSdc = findViewById(R.id.newAcft_textEdit_sdc)
textEditLtk = findViewById(R.id.newAcft_textEdit_ltk)
textEditTmr = findViewById(R.id.newAcft_textEdit_tmr)
newAcft_btn_save.setOnClickListener {
calculateMdl(textEditMdl)
}
}
Здесь возникли проблемы ... Не знаю, как правильно оценить коллекцию карт.
private fun calculateMdl(rawScore: EditText) {
var key = rawScore
if (scoreModel.eventMDL.containsKey(key as Double)) {
newAcft_textView_mdl.text = key.toString()
}
}
}
модель. это применимо только к первому TextEdit, но обычно одинаково для каждого события
class ScoreModel {
val eventMDL = mapOf(
340.0 to 100.0,
330.0 to 97.0,
320.0 to 94.0,
310.0 to 92.0,
300.0 to 90.0,
290.0 to 88.0,
280.0 to 86.0,
270.0 to 84.0,
260.0 to 82.0,
250.0 to 80.0,
240.0 to 78.0,
230.0 to 76.0,
220.0 to 74.0,
210.0 to 72.0,
200.0 to 70.0,
190.0 to 68.0,
180.0 to 65.0,
170.0 to 64.0,
160.0 to 63.0,
150.0 to 62.0,
140.0 to 60.0,
130.0 to 50.0,
120.0 to 40.0,
110.0 to 30.0,
100.0 to 20.0,
90.0 to 10.0,
80.0 to 0.0,
0.0 to 0.0)
}