사용자가 Main_Activity.xml에 이름, 이메일, 날짜 등을 입력하도록 요구하는 앱을 만들고 있습니다. 그런 다음 사용자가 제출을 클릭합니다. 입력 된 데이터가 confirm.xml에 표시됩니다. confirm.xml에서 사용자는 입력 된 데이터를 확인해야하며 입력 된 데이터를 편집하려면 다시 버튼을 클릭하여 데이터를 다시 편집합니다. 나는 그 일을 시도했지만 일단 뒤로 버튼을 클릭하면 editText 필드에 입력 한 모든 데이터가 사라졌습니다. MainActivity.xml의 editText 필드에 입력 한 데이터를 유지하여 편집해야하는 일부 필드 만 변경할 수 있습니다. 어떻게해야합니까? 고맙습니다.edittext 필드에 입력 된 텍스트를 유지하는 방법은 무엇입니까?
답변
onSaveInstanceState(Bundle savedInstanceState)
함수를 덮어 쓰고 savedInstanceState를 사용하여 onCreate(Bundle instanceState)
또는 onRestoreInstanceState(Bundle instanceState)
중에 반환 할 다양한 데이터를 저장할 수 있습니다.
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putString("TextFieldX", "Data To Retrieve");
}
그리고 그것을 다시 얻을 :
@Override
public void onCreate(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
//get back value
String value = savedInstanceState.getString("TextFieldX");
}
https://developer.android.com/reference/android/os/Bundle.html
데이터의 이상 거주 지속성의 경우, SQLite에 기록합니다.
제안 해 주셔서 감사합니다. 나는 그것을 시도 할 것이다. – jdk
데이터를 입력 한 활동이 삭제 된 경우 발생할 수 있습니다. 새 확인 활동을 어떻게 열지? 이것이 아마도 오류를 포함하고있는 코드 부분입니다.
새 활동을 열 때 finish()
으로 전화하면 활동이 삭제되고 EditText
에 보관 된 데이터가 지워집니다.
새로운 활동을 열고 현재의 데이터를 보존하려면 을 finish()
없이 호출하면됩니다.
Intent intent = new Intent(context, ConfirmationActivity.class);
startActivity(intent);
어쨌든 안드로이드를 사용하면 필요할 때 메모리를 비울 수 있습니다. 메모리가 필요하지만 메모리가 응용 프로그램에서 사용되는 다른 응용 프로그램을 열면 시스템이 사용자의 작업을 파괴하므로 Bundles
을 사용하여 디스크에 데이터를 저장하고 복원하는 것은 사용자의 몫입니다.
난 당신이이 책을 제안 https://developer.android.com/guide/components/activities/activity-lifecycle.html
제안 해 주셔서 감사합니다. 나는 그것을 시도 할 것이다. – jdk
당신은 문자열의 개인 문자열 이름 등의 모든 정보를 저장할 수 있습니다;
if(name != null && !name.toString().isEmpty()) {
set name String on your editText widget.
}
당신은 사용자의 전화에서 글고 값의 값을 저장하는 공유 환경 설정 객체를 사용할 수 있습니다 : 사용자가 이름의 입력하고 다음과 같이 다시 사용할 때 쓰기는 /이 이름을 설정합니다. 코드가 두 번 실행되면 공유 환경 설정에서 변수 만 확인하면됩니다. variable이 null이 아니면 값을 가져 와서 setText() 메소드를 사용하여 해당 문자열을 설정하십시오.
- 1. 텍스트 필드에 텍스트를 유지하는 방법
- 2. JavaScript를 사용하여 입력 필드의 마지막 기존 텍스트를 유지하는 방법은 무엇입니까?
- 3. Fancybox Popup을 닫은 후에 입력 필드에 값을 유지하는 방법은 무엇입니까?
- 4. EditText 필드에 대한 조언이 필요합니다.
- 5. Formtastic : 사전 입력 된 텍스트를 입력 필드에 삽입하십시오.
- 6. div를 클릭했을 때 입력 텍스트를 계속 초점을 유지하는 방법은 무엇입니까?
- 7. 입력 된 텍스트를 파이썬으로 변환하는 방법은 무엇입니까?
- 8. Power Shell을 통해 입력 필드에 텍스트를 입력하는 방법은 무엇입니까?
- 9. UITextField에 입력 한 텍스트를 캐시하는 방법은 무엇입니까?
- 10. 특정 텍스트를 입력 한 후 입력 텍스트를 변경하는 방법은 무엇입니까?
- 11. 여러 edittext 필드에 TextWatcher 구현
- 12. Rails는 입력 필드에 텍스트를 어떻게 유지합니까?
- 13. Android EditText : 텍스트 입력
- 14. 텍스트를 텍스트 필드에 임시 저장하는 방법은 무엇입니까?
- 15. "X123"과 같은 EditText 입력 유형을 설정하는 방법은 무엇입니까?
- 16. Android의 EditText/TextView에 임시 텍스트를 설정 하시겠습니까?
- 17. 사용자가 입력 필드에 텍스트를 입력하지 못하도록합니다.
- 18. Android - editText 필드에 삽입 된 각 요소가 알파벳인지 확인하는 방법은 무엇입니까?
- 19. EditText 다중 행 텍스트를 Android로 가져 오는 방법은 무엇입니까?
- 20. Android EditText : 작성시 기간을 적용하는 방법은 무엇입니까?
- 21. 입력 번호 필드에 쉼표를 추가하는 방법은 무엇입니까?
- 22. 강제로 입력 필드에 포커스를 설정하는 방법은 무엇입니까?
- 23. 날짜 입력 필드에 값을 표시하는 방법은 무엇입니까?
- 24. 입력 필드에 id를 추가하는 방법은 무엇입니까?
- 25. Selenium/HtmlUnit에서 필드에 텍스트를 입력 할 수없는 이유는 무엇입니까?
- 26. 이미지가 입력 필드에 입력 된 횟수만큼 표시됩니다.
- 27. Android : EditText는 항상 입력 된 텍스트를 기억합니다.
- 28. EditText 유효한 입력 표시기
- 29. EditText 필드에 텍스트가 추가되지 않습니다.
- 30. 입력 제한 입력 EditText Android
당신의 코드를 보여주세요 –
데이터를 삭제하셨습니까? –
주 활동에서'finish()'와 같은 키워드를 사용하지 마십시오. –