2015-01-11 2 views
1

내가 여기 자습서 다음입니다 (다시 명령에 대한 텍스트 사라지는) : I 필드를 누르 보내기에 텍스트를 입력 할 때안드로이드 응용 프로그램 튜토리얼

http://developer.android.com/training/basics/firstapp/starting-activity.html

, 그것은 더 큰과 두 번째 화면으로 이동 텍스트, 그래서 그 부분 작동합니다.

휴대 전화에서 '뒤로'버튼을 클릭하면 입력 한 텍스트가 여전히 텍스트 입력란에 있습니다. 그러나 프로그램 상단의 화면에서 뒤로 버튼을 누르면 입력 한 텍스트가 사라집니다.

왜 그런가요? 어떻게 제어하고 변경할 수 있습니까?

답변

2

문제의 원인 - 앱에서 뒤로 버튼을 클릭하면 앱에서 새로운 활동 인스턴스를 만듭니다.

는이 플래그와 함께 어떻게됩니까 코드

intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 

이 라인, 첫 번째 활동 호출 추가 뒤로 버튼이

를 해결하려면?

이 플래그를 사용하면 Android는 액티비티 스택에서 원하는 액티비티의 인스턴스를 찾습니다. 액티비티 스택에서 액티비티 스택의 맨 앞부터 시작하여 스택의 루트/백까지 검색됩니다. 지정된 액티비티의 인스턴스를 찾으면 곧바로 액티비티의 인스턴스를 가져옵니다 (즉, 지정된 액티비티의 인스턴스가 여러 개있는 경우 가장 최근의 인스턴스가 맨 앞에 표시됩니다).

+0

이 플래그가 없으면 대신 인스턴스를 제거/다시 생성합니까? –

+0

@JohnSmith, 백 스택에서 제거되지 않습니다. 대신 동일한 활동의 ​​또 다른 인스턴스가 생성되어 백 스택에 추가됩니다 (이미 사용 가능한 활동 외에도) – Prem

+0

그래서 계속 돌아가서 텍스트를 다시 입력하고 보내기를 누르고 돌아가서 반복하면 메모리가 다 떨어질 때까지 여러 개의 인스턴스를 만들 수 있습니까? –

관련 문제