티스토리 뷰
반응형
MainActivity에서 ResultActivity로 넘어가는 부분을 확인해 봅니다.
먼저, 결과를 나타내주는 레이아웃을 먼저 확인해 봅니다. 간단하게 BMI 지수와 결과를 나타내주는 텍스트뷰만 추가하도록 합니다.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
android:padding="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bmiTitle"
android:textStyle="bold"
android:textSize="20sp" />
<TextView
android:id="@+id/bmiView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
tools:text="18.1111" />
*** 이하 생략 ***
</LinearLayout>
반응형
이제 액티비티 파일로 넘어갑니다.
우선 intent.putExtra로 넘겨준 값을, getIntExtra로 받습니다. 인자로는 이름과 디폴트 값이 오는데 값이 넘어오지 않은 경우 '0'으로 설정했습니다.
bmi 변수에는 실제 BMI 지수를 계산하는 식을 넣었는데, 제곱근 함수(pow)를 사용하였습니다.
그리고 결과를 보여주는 resultText 변수에는 when 구문을 사용해서 경우의 수를 나타내줍니다.
val height = intent.getIntExtra("height", 0)
val weight = intent.getIntExtra("weight", 0)
val bmi = weight / (height / 100.0).pow(2.0)
val finalResult = when {
bmi >= 35.0 -> "Greater Obesity"
bmi >= 30.0 -> "Obesity"
bmi >= 25.0 -> "Overweight"
bmi >= 23.0 -> "Chubby"
bmi >= 18.5 -> "Normal Weight"
else -> "Underweight"
}
마지막으로 각 텍스트뷰를 찾아 resultbmiView, finalView 변수에 담아주고, 이들의 텍스트에 BMI 지수를 계산했던 bmi와 when 구문을 사용해서 경우에 따라 결과를 보여줬던 finalResult를 넣어주면 됩니다.
val resultbmiView = findViewById<TextView>(R.id.bmiView)
val finalView = findViewById<TextView>(R.id.resultTextView)
resultbmiView.text = bmi.toString()
finalView.text = finalResult
최종 결과는 다음과 같습니다.
반응형
'Android Projects' 카테고리의 다른 글
[ToDo List] 업무 관리 앱: 어댑터 만들기 (0) | 2021.08.07 |
---|---|
[난수 생성기] UI & 로직 구현 (0) | 2021.08.03 |
[BMI Calculator] 뷰와 코틀린 코드 연결하기 (0) | 2021.07.20 |
[BMI Calculator] 레이아웃 만들기 (0) | 2021.07.20 |
[BMI Calculator] 프로젝트 생성하기 (0) | 2021.07.20 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 대한민국 미제사건
- findViewById
- Bmi Calculator
- 2007년 사건사고
- 상대적 레이아웃
- 리사이클러뷰
- 자바스크립트 배열
- 선형 레이아웃
- 인텐트
- 뷰 바인딩
- 리스트뷰
- 안드로이드 프로젝트
- 2019년 사건사고
- bmi 계산기 만들기
- 안드로이드 어댑터
- 2021년 사건사고
- view binding
- 메소드 오버라이딩
- 안드로이드 스튜디오 에러
- tabLayout
- notifyDataSetChanged
- RecyclerView
- lazy init
- 미제사건
- 애드뷰
- ToDo List 앱 만들기
- addView
- android adapter
- 탭레이아웃
- 안드로이드 앱 만들기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함