- Привет всем, я новичок в android, и я сделал простой калькулятор BMi, у меня есть
spinner
, чтобы выбрать значение, и я должен сделать калькулятор, который может изменить значение после делая выбор spinner
, я не получаю никакой ошибки, но я вижу, что могу увидеть ответ.
Пожалуйста, проверьте, что я сделал неправильно в этом
' class MainActivity : AppCompatActivity() {
var valueofHeightInCm: Double = 0.0
var valueofHeighInInch: Double = 0.0
var valueofHeightInMeter: Double = 0.0
var showResult: Double = 0.0
var enterWeight: Double = 0.0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
try {
valueofHeightInCm = et_enterheight.text.toString().toDouble() / 100
valueofHeighInInch = et_enterheight.text.toString().toDouble() * 2.54
valueofHeightInMeter = et_enterheight.text.toString().toDouble() * 0.01
enterWeight = et_enterweight.text.toString().toDouble()
} catch (e: NumberFormatException) {
Toast.makeText(this,"please Entter input",Toast.LENGTH_SHORT).show()
}
val heightMeasure = resources.getStringArray(R.array.height)
val adapter = ArrayAdapter(this, android.R.layout.simple_spinner_item, heightMeasure)
spinner1.adapter = adapter
spinner1.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onNothingSelected(parent: AdapterView<*>?) {}
override fun onItemSelected(
parent: AdapterView<*>?,
view: View?,
position: Int,
id: Long
) {
when (position) {
0-> {
et_enterheight.setHint("Enter Height in Cm")
showw_result.setOnClickListener {
showResult = (enterWeight / (valueofHeightInCm * valueofHeightInCm))
tv_showResult.text = "%.2f".format(showResult)
}
}
1 -> {
et_enterheight.setHint("Enter Height in Inch")
showw_result.setOnClickListener {
showResult =
(enterWeight / (valueofHeighInInch * valueofHeighInInch)).toDouble()
tv_showResult.text = "%.2f".format(showResult)
}
}
2 -> {
et_enterheight.setHint("Enter Height in Meter")
showw_result.setOnClickListener {
showResult =
(enterWeight / (valueofHeightInMeter * valueofHeightInMeter))
tv_showResult.text = "%.2f".format(showResult)
}
}
}
}
}
}