이제는 종료 화면을 만들어 보려고 합니다.
레이아웃에서 ctrl c + v로, 처음 화면 start를 만들었던 것처럼 end를 만들어 보겠습니다.
그리고 내용을 다시 복귀겸, 싹 지워보고 다시 만들어보겠습니다.
꼴등을 만들고, 참가자 몇번이었는지 확인하고, 몇 점의 점수 차이로 졌는지 까지 만들어보겠습니다.
또한 버튼을 만들어서, 처음으로 돌아가게 만들어 보겠어요.
안드로이드 어플 종료화면 만들기(앱 만들기#20)
textview를 만들고, 복붙으로 쭉쭉 이름을 만들겠습니다.
버튼은 새로 만들고요.
그리고 end 함수를 만들어줍니다.
start와 똑같습니다.
} else if (stage == 1) {
if (a < p_num) {
a++
main()
} else {
println(point_list)
}
}
}
}
else 뒤 마지막에 넣겠습니다.
여기 }끝에 넣습니다.
} else if (stage == 1) {
if (a < p_num) {
a++
main()
} else {
println(point_list)
}
}
}
}
fun end(){
setContentView(R.layout.activity_end)
}
이런 식으로 요. end함수를 만들고, start와 똑같이 만들어줍니다.
다만 엑티비티 start가 아니라 end겠죠?
다음으로 end함수를 어디에서 불러와야겠나요?
else println으로.. 여기를 불러왔는데, 여기다가 end함수를 넣겠습니다.
한번 어플이 맞는지 돌려보겠습니다.
잘 나왔네요.
처음으로는 ㅋㅋ 이 버튼은 위치 조정도 안 해줬나 봅니다.
일단은 나왔어요. 그럼 됐습니다.
이제 수정을 해보겠습니다.
텍스트뷰 3가지에 아이디를 넣겠습니다.
아이디를 각각 text_end1,2,3 / btn_end1로 정하였습니다.
text_end1은 생각해보니까, 쓸게 없네요. 그냥 변하는 게 없으니까.. text_end2부터 변화를 주기 때문에
end2부터 지정을 해놨습니다.
fun end(){
setContentView(R.layout.activity_end)
val text_end2: TextView = findViewById(R.id.text_end2)
val text_end3: TextView = findViewById(R.id.text_end3)
val btn_end1: Button = findViewById(R.id.btn_end1)
그리고 최종 결과물이었던, point list를 가지고 와야 합니다.
또한 포인트 리스트 같은 경우는, 함수 밖에서 먼저 변수를 선 헌 했기 때문에 가져오는 것이 가능합니다.
fun 함수 안에 있는 경우 빠져나오지 못합니다.
변환 숫자 가져오기
이제 숫자가 변하는 것을 가져오려고 해요.
위를 봅시다.
var p_num = 3
var a = 1
val point_list = mutableListOf<Float>()
여기서 포인트 리스트를 가지고 와봅시다.
포인트 리스트로, 저희가 꼴찌를 뽑았던 것이니, 숫자가 가장 높은 숫자를 가져와야겠죠?
정해져 있는 값에서, 뺀 숫자가 제일 큰 사람이 꼴찌니까요.
maxOrNull을 가지고 와야 합니다.
fun end(){
setContentView(R.layout.activity_end)
val text_end2: TextView = findViewById(R.id.text_end2)
val text_end3: TextView = findViewById(R.id.text_end3)
val btn_end1: Button = findViewById(R.id.btn_end1)
text_end3.text = (point_list.maxOrNull()).toString()
이렇게 되면, 3번째 꼴등이라고 적혀있는 곳에, 가장 높은 숫자를 가지고 옵니다.
그럼 2번째 꼴등에는 참가자 몇이 나오는지 만들어보겠습니다.
text_end2.text = point_list.indexOf(point_list.maxOrNull()).toString()
이 것을 넣으면 2번째도 만들어지죠.
오! 이것으로 완성입니다.
하지만 text_end2에 글이 너무 깁니다.
여기서 조금만 바꿔보죠. 인덱스를 넣어보겠습니다.
fun end() {
setContentView(R.layout.activity_end)
val text_end2: TextView = findViewById(R.id.text_end2)
val text_end3: TextView = findViewById(R.id.text_end3)
val btn_end1: Button = findViewById(R.id.btn_end1)
text_end3.text = (point_list.maxOrNull()).toString()
var index_last = point_list.indexOf(point_list.maxOrNull())
text_end2.text = "참가자" + (index_last+1).toString()
}
잘 나왔습니다.
저런 식으로 복잡하면, 인덱스에 넣어주는 것도 좋습니다.
마지막으로 버튼만 작업하면 되겠네요.
btn_end1.setOnClickListener(){
이것을 넣어주면 되겠죠?
하지만 초기화를 시켜줘야 합니다.
그렇기에 맨 위에 있었던 부분들을 다시 써주시면 됩니다.
var p_num = 3
var a = 1
point_list.clear()
포인트 리스트는 클리어로 깨끗하게 삭제를 해버렸습니다.
자 그러면 최종은 어떻게 나오느냐?
text_end3.text = (point_list.maxOrNull()).toString()
var index_last = point_list.indexOf(point_list.maxOrNull())
text_end2.text = "참가자" + (index_last+1).toString()
btn_end1.setOnClickListener(){
point_list.clear()
a = 1
p_num = 3
start()
}
}
이런 식으로 완성을 했습니다.
깨끗하게 초기화면으로 잘 돌아오네요. 안드로이드 어플 종료 화면 만들기(앱 만들기#20)였습니다.
android studio설치 다운로드하기 안드로이드 앱 만들기#1
'코딩 어플만들기' 카테고리의 다른 글
안드로이드 스튜디오 어플에 블라인드 넣기(앱#21) (0) | 2022.04.04 |
---|---|
안드로이드 앱에 블라인드 넣기(앱#21) (0) | 2022.04.03 |
안드로이드 어플 시작화면 만들기 (앱만들기#19) (0) | 2022.03.30 |
안드로이드 어플 점수 나오게 하기. 앱 만들기#18 (0) | 2022.03.29 |
안드로이드 스튜디오 자동으로 숫자 올라가게 만들기(앱#17) (0) | 2022.03.28 |