Android – Сделать функцию ложной / не запускать

У меня есть setOnClickListener на двух кнопках, которые просто запускают код в двух функциях.

Я хочу создать безопасный вызов, поэтому, когда я нажимаю кнопки, приложение не разбивается. Я думал, что мне придется сделать их ложными или что-то в этом роде, но, видимо, это не сработает.

Как я должен это делать?

благодаря

  if (weightView.text.isEmpty() && percentageView.text.isEmpty()) { calculation() == false lbsCalculation() == false } else { calculation() lbsCalculation() } 

Это мои два клика.

 calculateBtn.setOnClickListener{ calculation() } lbsCalculationBtn.setOnClickListener{ lbsCalculation() } 

Функции:

 fun calculation () { var weightValue = weightView.text.toString().toInt() var percentageValue = percentageView.text.toString().toInt() var result = (weightValue * percentageValue) / 100.toDouble() var resultFormat = "%.1f KG".format(result) resultView.text = resultFormat.toString() } fun lbsCalculation() { var weightValue = weightView.text.toString().toInt() var percentageValue = percentageView.text.toString().toInt() var result = ((weightValue * percentageValue) / 100) * 2.2.toDouble() var resultFormat = "%.1f LBS".format(result) resultView.text = resultFormat.toString() } 

=================

Картина

Сделайте это внутри своего метода. Что-то вроде этого:

 public class calculation(String weightView, String percentageView){ //you make a condition that should do something if strings are empty if(weightView && percentageView == null) //DO WHAT YOU WANT }else{ //Show an alert or something that your EditText is empty. } 

и должен вызвать это следующим образом:

 calculateBtn.setOnClickListener{ calculation(weightView.getText.toString(),percentageView.getText.toString()) } 

====== EDIT =======

Ваша функция должна выглядеть так:

 fun calculation(weightValue: String,percentageValue: String) { if(weightValue == null && percentageValue == null ){ var myWeightValue = weightValue.toInt(); var myPercentageValue = percentageValue.toInt(); var result = (myWeightValue * myPercentageValue) / 100 var resultFormat = "%.1f KG".format(result) resultView.text = resultFormat } else { **SHOW A MESSAGE LIKE A TOAST OR ALERTDIALOG TO LET THE USER KNOW THAT WEIGHT AND PERCENTAGE IS REQUIRED** } } fun lbsCalculation() { var weightValue = weightView.text.toString().toInt() var percentageValue = percentageView.text.toString().toInt() var result = ((weightValue * percentageValue) / 100) * 2.2 var resultFormat = "%.1f LBS".format(result) resultView.text = resultFormat } 

Ваш onClick должен выглядеть следующим образом:

 calculateBtn.setOnClickListener{ calculation(weightView.text,percentageView.text) }