val heightEditText: EditText = findViewById(R.id.heightEditText)
val weightEditText = findViewById<EditText>(R.id.weightEditText)
Log.d("MainActivity", "ResultButton이 클릭되었습니다.") // d는 Debug를 의미, (태그, 로그내용)
return@setOnClickListener
val resultValueTextView = findViewById<TextView>(R.id.bmiResultTextView)
val resultStringTextView = findViewById<TextView>(R.id.resultTextView)
resultValueTextView.text = bmi.toString()
resultStringTextView.text = resultText
만약 여러 개의 버튼이 다 같은 기능을 한다면, xml 파일에서 android:onClick="함수명"을 넣어주고 해당 함수를 구현하면 편하다.
문자열에서 특정 문자의 스타일을 바꾸고 싶을 때 SpannableStringBuilder 사용
val ssb = SpannableStringBuilder(expressionTextView.text)
ssb.setSpan(
ForegroundColorSpan(getColor(R.color.green)),
expressionTextView.text.length - 1,
expressionTextView.text.length,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
)
if (hasOperator.not()) {
// code
}
fun String.isNumber(): Boolean {
return try {
this.toBigInteger()
return true
} catch (e: NumberFormatException) {
// toBigInteger() 설명에 들어가서 어떤 exception을 throw 해주는지 확인해서 적어주기
return false
}
}