2013-12-19 4 views
0

Android에 매우 새로 추가되었지만 활동 A에서 활동 B로 이동하고 활동 A로 돌아 가려는 경우 B로 이동하기 전에 활동 A에 표시된 모든 데이터가 손실됩니다. 나는 finish()를 호출하지 않는다. 나는 잘못된 것을하고 있는가?활동이 파괴되고 있습니까?

+0

당신이 더 도움을받을 수 있습니다 그들과 함께 채울 경우. –

+0

에 따라 다릅니다. onCreate 및 onResume 메소드를 추가하십시오. – Gooziec

답변

0

Google의 교육 및 학습 활동 라이프 사이클에 대해 알아볼 것을 권장합니다. 당신이 개 활동으로

http://developer.android.com/training/basics/firstapp/index.html

, 수명주기 방법 (에서 onCreate, onResume 등)을 모두 무시하고 그들에 간단한 로그 메시지를 넣어. 활동 간을 이동하고 로그를보고 이벤트 순서를 학습하십시오.

여기에서 번들 및 인스턴스 상태를 저장하는 방법에 대해 알아보십시오. 그러면 앱을 만드는 방법에 대해 잘 알고있을 것입니다.

0

모든 Views의 식별자가 XML에 있는지 확인하십시오. Android는 식별자가있는보기 만 복원합니다.

또한, 사용자 정의 데이터 (뷰가 아닌)에 대한 :

그것은 당신의 활동 A가 배경에있는 동안 파괴되었다 있다고 할 수있다.

는 일반적으로 그들은 그렇게 할 :

1) 활동에 onSaveInstanceState()를 추가합니다. Bundle 인수에 모든 사용자 지정 데이터가 저장됩니다. 끝의 수퍼 으로 전화하십시오. 뷰를 저장할 필요가 없습니다. 맞춤 변수 등의 맞춤 데이터 만 입력하면됩니다.

2) onCreate에서 savedInstanceStateBundle 인수가 null인지 확인합니다.

3) null이 기본 데이터로 채워지는 경우.

4)하지 nullBundle에서 데이터를 복원하고 당신이 당신의 코드를 게시 할 경우

관련 문제