마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

버튼 클릭 시 숫자 증가, 감소

0 추천

https://sendanywhe.re/UKZ25TPA (압축 파일입니다. 함께 봐 주신다면 감사하겠습니다!)

 

버튼 클릭 시 TextView의 숫자가 증가, 감소했으면 합니다. 

오른쪽 에뮬레이터에 있는 캔 그림이 can_button 입니다. 

can_button 클릭 시 CanActivity로 넘어간 후, 9초 뒤에 MainActivity로 변환되게 하였습니다. (현재 화면은 GiftshopActivity)

아래 코드로 실행했을 시에, 텍스트를 100으로 바꿔둬도 30만 감소되는 것이 아니라, 0으로 바뀌어버립니다.

또한, 다시 GiftshopActivity (왼쪽 위 선물 버튼) 로 돌아갔을 때, 감소된 숫자가 뜨는 것이 아닌 원래 숫자가 뜹니다.

 

1. 처음 숫자가 0으로 뜨게 하고 싶습니다.

2. can_button 클릭 시 30이 감소되었으면 합니다.

2-1. 숫자가 0이거나, 30보다 적을 시, 실행되지 않았으면 합니다.

3. can_button -> CanActivity -> MainActivity -> 다시 GiftshopActivity로 들어갔을 때, 변경된 포인트가 그대로 있었으면 합니다.

 

숫자 TextView 입니다!

 

정말 정말 초보이고, 대부분 코드도 퍼온 거이기 때문에 모르는 것이 많습니다. 

도와주시고, 알려 주신다면 정말 감사하겠습니다!

 

https://itstudy-mary.tistory.com/178 (제가 참고한 글입니다.)

어쩔방구 (240 포인트) 님이 2022년 11월 17일 질문
혹, 퍼온 코드가 이해가 안가시는 상태라면 해당 코드부터 먼저 이해를 하시면 좋을 것 같습니다. 만약 제 우려가 맞다면, 답을 드린다고 해도 적용을 하실 수가 없으실 거예요. 이 경우는 한가지씩 차근차근 이해해 나가시는게 실제로는 더 빠른 길입니다.

1개의 답변

0 추천
 
채택된 답변
참고하신 자료와 작성하신 코드가 형식이 많이 다르네요,
구조를 올바르게 파악하시고 알맞은 형태로 옮겨오셔야 제대로 작동할 겁니다.

- onclick 설정 시에 맴버변수를 항상 초기화 하지말고 can 버튼 초기화 위치에서 함께 하는게 가독성및 로직 구성에 맞아보입니다.

- count + ""  방식으로 형변환 하시기 보다는 String.value(count) 로 사용하시는게 좋겠습니다.

- 버튼을 누를 때마다 count 가 0으로 초기화되며, 0보다 클때만 30을 감소시키는 형태로 작성하였기 때문에 항상 0으로 설정되고있습니다.

- 해당 값을 별도로 저장해둔 것이 아니어서 xml 에서 설정한 수치로 항상 보여질겁니다.

 

1. 처음 뜨는 숫자는 xml 에서 text 항목을 수정하는 것이 아닌
 tvCount 를 초기화 한 이후 화면에 보여질 때 저장된 값을 불러와서 setText() 로 설정하세요.

2. 저장된 값을 불러온 뒤 사용하게 만들었다면, 버튼 클릭 시 마다 연산을 진행한 후에 저장하고 그 값으로 다시 setText() 하세요.

2-1. 조건을 count > 30 으로 변경하시면 됩니다.

3. 위에 설명드린대로 값을 '저장하고 불러와서' 사용하는 방법을 사용해보세요.
- SharedPreferences, Room, Sqlite, Ream 등을 이용한 로컬 저장
- Retrofit 등의 서버 통신을 이용한 외부 저장
익명 님이 2022년 11월 21일 답변
어쩔방구님이 2022년 11월 24일 채택됨
헉 답변을 이제야 봤네요..! 친절하게 답변해 주셔서 감사합니다!
...