Проверьте, если вход пуст, не работает - PullRequest
0 голосов
/ 10 декабря 2018

Привет, ребята, я только начал играть с android studio и хотел создать приложение, которое рассчитывает способность входного значения.Это работает, если я даю ему значение ввода, но если нет, то происходит сбой, поэтому я попытался проверить, является ли ввод пустым, но это не решило ошибку.Вот код:

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val Button = findViewById<Button>(R.id.button)
    val Output = findViewById<TextView>(R.id.Output)
    val Input = findViewById<TextView>(R.id.Input)

    Button.setOnClickListener {


        val num = Input.text.toString().toInt()
        if(num.toString().isNotBlank()) {




            var hilf = 1

            for (i in 1..num.toString().toInt()) {
                hilf *= i

            }
            Output.text = hilf.toString()
        }



    }
}

Ребята, у вас есть идеи, как я могу решить проблему?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

вы хотите использовать следующее:

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val Button = findViewById<Button>(R.id.button)
    val Output = findViewById<TextView>(R.id.Output)
    val Input = findViewById<TextView>(R.id.Input)

    Button.setOnClickListener {
        val num = Input.text.toString().toInt()
        if(!Input.text.toString().isEmpty()) {
            var hilf = 1
            for (i in 1..num.toString().toInt()) {
                hilf *= i
            }
            Output.text = hilf.toString()
        }
    }
}
0 голосов
/ 10 декабря 2018

Сначала вы проверяете, пусто ли EditText, а затем пытаетесь преобразовать в Int:

if(!Input.text.toString().trim().isEmpty()) {
    val num = Input.text.toString().toInt()
    var hilf = 1

    for (i in 1..num) {
        hilf *= i
    }
    Output.text = hilf.toString()
}

Также вам не нужны

num.toString().toInt()

, вы можете простоиспользуйте

1..num

, поскольку тип num Int

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...