Android kotlin - приложение не показывает тосты

Я хочу, чтобы когда кто-то вводил более трех чисел в поле ввода месяца, тост должен показывать сообщение об ошибке, я пробую, а приложение ничего не делает! Почему? (Я новичок) Другой вопрос, как я могу использовать try and catch с этим?

@SuppressLint("SetTextI18n")
fun onClickButton(view: View){

    getAGE.setOnClickListener {
        val Get_year_input = age_year_input.text.toString().toInt()
        val getCurrentYear = Calendar.getInstance().get(Calendar.YEAR)
        val finish_year_input = Get_year_input - getCurrentYear
        val getCurrentMonth = Calendar.getInstance().get(Calendar.MONTH)
        val finish_month_input = age_month_input.text.toString().toInt()-getCurrentMonth

        if (age_month_input.length() > 2) {                
            Toasty.error(this,"لقد أدخلت شهر غير صالح",Toast.LENGTH_LONG)  
        } else {
            ShowYearInput.text = " عُمرك الميلادي هو : $finish_year_input و $finish_month_input  أشهر "
        }
    }
}

все ваши объекты должны иметь имена в нижнем регистре. пожалуйста, придерживайтесь обычного формата.

leonardkraemer 08.12.2018 12:45
3
1
1 954
3

Ответы 3

В конце этого блока кода:
Toasty.error(this,"لقد أدخلت شهر غير صالح",Toast.LENGTH_LONG) Вам не хватает .show(), чтобы показать тост. Плюс добавьте в сообщение, что вы используете сторонние библиотеки, не все люди знают Toasty.
Обычный Toast с Android можно настроить таким способом:
Toast.makeText(applicationContext, "text", Toast.LENGTH_SHORT).show()

Просто попробуйте это:

Toast.makeText(applicationContext, "لقد أدخلت شهر غير صالح", Toast.LENGTH_SHORT).show()

Это то, что вам нужно :)

От документация Toasty

Each method always returns a Toast object, so you can customize the Toast much more. DON'T FORGET THE show() METHOD! [...]

Toasty.error(yourContext, "This is an error toast.", Toast.LENGTH_SHORT, true).show();

Итак, урок для начинающих: RTFM!

Пример использования try-catch:

try{ 
    val finish_month_input = age_month_input.text.toString().toInt()-getCurrentMonth 
    ShowYearInput.text = " عُمرك الميلادي هو : $finish_year_input و $finish_month_input  أشهر " 
} catch( e : NumberFormatException ){ 
    Toasty.error(this,"لقد أدخلت شهر غير صالح",Toast.LENGTH_LONG)
}

Другие вопросы по теме