Hej,
Chcę zadawać pytania użytkownikowi aplikacji i po ich skończeniu podsumować je w ostatniej activity lub na tej samej activity w zależności od tego jak mi bedzie pasować. Problem w tym , że w samym kotlinie potrafięto zrobić a jedyne co znam w Androidzie to textWatcher. Czy jest jakis odpowiednik readLine() w Kotlinie dla androida?
Chicałbym aby wyglądało to tak:
fun main(args: Array<String>) {
var Math_mark: Int = 0
var Biology_mark: Int = 0
var school_subject: String = ""
println("Choose school subject: math or biology")
school_subject = readLine()!!.toString().toUpperCase()
if (school_subject == "MATH") {
println("Choose your last exam mark: ")
Math_mark = readLine()!!.toInt()
}
if (school_subject == "BIOLOGY"){
println("Choose your last exam mark: ")
Biology_mark = readLine()!!.toInt()
}
println("Your results:")
if (Math_mark > 2) {
println("Good boi")
}
else{
println("Bad boi")
}
if (Biology_mark > 2){
println("Good boi")
}
else{
println("Bad boi")
}
}
Natomiast w android studio wstawiłbym do onTextChangedtextView.setText(editText.getText().toString())
editTextSample.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable) {}
override fun beforeTextChanged(s: CharSequence, start: Int,
count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence, start: Int,
before: Int, count: Int) {
textView.setText(editText.getText().toString()) // text który bedzie sie wyswietlał
}
}
Czy tylko takie rozwiązanie wydaje się być poprawne czy można łatwiej? jeśli pytań będzie 30 to musze 30 razy wklejać ten fragment kodu? Niby to tylko wprowadzenie zmiennych w innym miejscu w activity.. myślałem, żeby po prostu w podsumowaniu podać id editText, żeby to co wprowadziłem w pytaniu wyswietliło sięw podsumowaniu na końcu koduale to nie przechodzi 😛 Chciałbym również aby user wprowadzający stringa w editText dostawał odpowiedz (jako activity podsumuwujące) string typu: tu juz chyba textWacher nie da rady..
var pytanie: String =""
println("co chcesz dziś robić?")
pytanie = readLine()!!.toString().toUpperCase()
// podsumowanie
if(pytanie == "grać na komputerze") {
println("Musisz najpierw odrobić zadanie")
}
Pozdrawiam