2013-10-06 3 views
0

저는 MainActivity와 EditText가있는 두 번째 활동이 있습니다. EditText의 내용이 항상 저장되기를 바랍니다. 그러나 1 문자 변경된 후 파일을 씁니다 EditTextChangedListener 싶지 않아요.Return 전에 EditText를 저장하십시오.

좋은 해결책은 무엇입니까? onPause 또는 onBackPressed에 대해 생각했습니다.

홈 버튼은 무엇입니까? 나는 앱이 공개 된 채로 있다고 생각한다. 그래서 저장할 필요가 있는가? 전화 통화와 같은 다른 인터럽트는 어떨까요? onPause가 모든 것을 포착합니까?

감사합니다. 앱이 중단 또는 배경 조사 Activity life cycle

답변

0

예 onPause가 호출됩니다. 모든 상황에서 항상 호출됩니다. 개발자 설명서에서 말하는 내용은 다음과 같습니다.

영구 저장 데이터 (예 : 사용자 편집)를 저장소에 쓰려면 onPause() 메서드를 사용해야합니다.

이 방법은 예를 들어, 화면 표시등이 꺼지는 경우 (일부 ppl에는 15 초 화면 표시 등 시간 초과가있는 경우)와 같이 자주 호출 할 수 있습니다. 따라서 내부에 값 비싼 작업을 너무 많이 넣지 마십시오.

홈 버튼을 누르는 데는 데이터를 저장하는 것이 좋습니다 (onPause()). 그 이유는 활동이 배경에 있지만 파괴 될 수 있기 때문입니다. 메모리를 회수해야하는 경우 시스템이 활동을 파괴 할 수 있습니다. (예를 들어, 나중에 너무 다른 응용 프로그램을 시작하고 백그라운드에서 그들 모두를 넣어) 문서에서 :

Stopped : 활동이 완전히 다른 활동에 의해 가려합니다 ( 활동이 "배경"에 지금있다) . 중지 된 활동도 여전히 활성 상태입니다. 개체가 메모리에 유지되고 모든 상태 및 구성원 정보를 유지하지만 관리자는 관리자에 연결되어 있지 않습니다. 그러나 더 이상 사용자에게 표시되지 않으며 다른 곳에서 메모리가 필요하면 시스템에 의해 이 (가) 죽을 수 있습니다.

0

좋은 솔루션이 onPause() 방법 등의 논리를 포함하는 것입니다로 이동됩니다 때마다

0

아니요. 여기에서 정답은 "return"키 이벤트를 수신하는 것입니다. 이는 사용자가 필드에 대한 입력을 완료하고 필드 내용의 저장을 파일에 트리거한다는 것을 나타냅니다. 그것은 다른 많은 상황에서도 유용합니다. Android Use Done button on Keyboard to click button

피터 :

이 답변을 참조하십시오.

관련 문제