[Android Studio] 하체운동 어플 만들기 - 3

박지운·2022년 9월 4일
0

카드 버튼

이미지 배열과 똑같은 크기에 배열을 만들어 카드가 이미 뽑혔는지 확인하는 용도로 사용했다.

int[] arr_cardUsed = new int[cardNum]; // 카드 사용여부 확인 배열

public void onClick(View view) {
                if(count < cardNum) {
                    while(true) {
                        int i = random.nextInt(cardNum);

                        if (arr_cardUsed[i] == 0) {
                            btn_card.setImageResource(arr_cards[i]);
                            arr_cardUsed[i] = 1;
                            count++;

                            if(i >=0 && i <= 12) restTime = (i + 1) *  2.25;
                            else if(i <= 25) restTime = (i+1) * 2.25;
                            else if(i <= 38) restTime = (i+1) * 2.25;
                            else if(i <= 50) restTime = (i+1) * 2.25;

                            txt_count.setText(count + " / " + cardNum);
                            Toast.makeText(CardActivity.this, "휴식 시간 : " + ((int) restTime) + "초입니다.", Toast.LENGTH_SHORT).show();
                            break;
                        }
                    }
                }

세트 수 표시

txt_count.setText(count + " / " + cardNum);

리셋 버튼

리셋 버튼은 카드 화면을 새로 여는 방식으로 했다.

btn_reset.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(CardActivity.this, CardActivity.class);
                startActivity(intent);
            }
        });

결과

일단 카드 수는 테스트로 13장만, 다 같은 카드로 넣었다.

한가지 문제를 발견했다...!

리셋 버튼을 누르면 새 intent가 열리게 했는데 이 때문인지 뒤로가기를 누르면 리셋버튼 누르기 전 화면이 열리게 된다.

또 토스트 메세지도 앱을 종료한 후에 계속 나왔어서 방법을 찾아야 할 것 같다.

해결해야할 점

  1. 뒤로가기 눌렀을 때 메인화면으로 가게 하기
  2. 토스트 메세지 앱 종료하면 안나오게 하기
profile
앞길막막 전과생

0개의 댓글