Я хочу, чтобы когда кто-то вводил более трех чисел в поле ввода месяца, тост должен показывать сообщение об ошибке, я пробую, а приложение ничего не делает! Почему? (Я новичок) Другой вопрос, как я могу использовать 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 أشهر "
}
}
}
В конце этого блока кода: 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()
Это то, что вам нужно :)
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)
}
все ваши объекты должны иметь имена в нижнем регистре. пожалуйста, придерживайтесь обычного формата.