안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
매일 보기만하다가 처음 질문 올리는, 앱 개발 초보입니다.
다름이 아니라 조금 막히는 부분이 있는데요 ^^;;
####### 설명 #######
A라는 Activity가 있고 , A에서 호출하는 B라는 Activity가 있습니다.
A의 구조는 LinearLayout 안에 TextView가 존재하는데 이 TextView는 동적으로 할당됩니다.
A에서 "Button"을 누르면 B라는 Activity가 호출되고 B에서 "Button"을 누르면 어떠한 데이타를 저장한후 Finish를 하게됨으로써
A로 이동하게 됩니다.(B가 사라지니 그 전단계인 A로 오겠죠.)
문제#
B에서 저장한 후 A로 이동 시 A에서 새로고침이 되어야 하는데 (OnResume() 사용함)
새로고침은 되지만, 기존에 추가 되었던 TextView가 모두 초기화 되지 않고 밑으로 추가 되는 형태로 되어버렸습니다.
예)
[ A 화면 ]
---------------------
1. 내용이 없습니다.
#Button#
---------------------
[ B 화면 ]
------------------------
천재
뭘봐?
[저장]
------------------------
[저장] 버튼을 누르면, 내용은 DB에 저장되고 Finish가 작동하여 B화면은 없어짐.
################ 아래와 같이 입력이 됨.
A 화면
---------------------
1. 내용이 없습니다.
2. 천재:뭘봐?
#button#
---------------------
DB에서 가져오는 내용은 "2. 천재:뭘봐?" 이것뿐인데, 기존에 있던 "1. 내용이 없습니다." 까지 같이 출력됩니다.
저 상태에서 다시 Button을 누르고 저장한후 다시 되돌아 오면.
A 화면
---------------------
1. 내용이 없습니다.
2. 천재:뭘봐?
3. 천재:뭘봐?
#button#
---------------------
요런상태로 되어버리네요..
어떻게 방법 없을까요? ㅠㅠ
DB에서 Data는 확실히 1개만 가져오게 되어있습니다.
결과 내용을 담는 변수도 초기화 시킵니다.
(ArrayList<String> Result = new ArrayList<String>(); 으로 되어있지만 OnResume() 될때 Result.clear() 시킵니다.)
제 생각으론 LinearLayout 안에 TextView가 계속 남아 있는것같은데요.. 맞나요??
2011.07.18 18:36:00
인텐트 FLAG 값을 설정해주시면 될듯합니다.
이경우와 좀 다르지만 예전에 Tabhost 사용할 때 비슷한 문제가 있었는데 이걸로 해결했어요.
직접 답을 알려드리는 것보다 관련된 사이트 하나 알려드릴께요. 천천히 읽어보시고 참고하시기 바래요.
아무래도 직접 개념을 이해하는게 기억에 오래 남더라구요.
http://chihun80.springnote.com/pages/6423199
이 사이트는 봉이선달님 강좌란에도 언급이 되었던 사이트에요, 저도 봉이선달님 강좌 덕분에 해결했답니다.




TextView는 동적으로 할당됩니다. 라고 하셨는데 어디에서 추가 하시는건가요.. onCreate 인가요?