마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

EditText에서 글자 입력후 back 후 재 진입시 글자 남아 있도록 할려면

–1 추천
안녕하세요..

 

소스 작성 중에 문의 사항이 있습니다.

EditText에서 글자 입력후 back key 후 재 진입시 글자 남아 있도록 소스를 어떻게 만들어야 하나요?

즉 EditText 창에서 abc 입력 후 back key로 나간 다음 다시 그 activity 진입하면 edittext 창에 abc가 그대로 남아 있도록 하고 싶어요..도와 주세요..

SharePreferences 이용했는데.. 잘 안 되더라고요...

고수님 소스 코드 작성 부탁 드립니다.
애교뭉실 (130 포인트) 님이 2013년 2월 21일 질문

3개의 답변

0 추천
EditText.setText("넣어야할값")
건방진프로그래머 (26,630 포인트) 님이 2013년 2월 21일 답변
질문의 의도가 그게 아닌데요.ㅠㅠ
전 edittext 입력창에 글자를 입력하고 난 다음 전송 버튼을 누르기 전에 back key로 빠져 나온 다음 다시 editext 창으로 가면 입력한 글자가 그대로 남아 있도록 하고 싶어요~~ 도와주세요
자 생각해봅시다...

에디트텍스트에서 글을 칠때마다 알수있는 리스너가 있습니다.
거기서 칠때마다 글을 저장하시든가.
아니면 액티비티가 종료당하기전에 글을 저장하시던가
데이터저장은 디비나 프리페런스나 그냥 파일에다가 쓰셔도 무방하고
다음에 화면올때 데이터가없으면 표시안하고 있으면 표시하시면됩니다
0 추천
액티비티가 죽을때 SharedPreference에 값을 저장하고

OnCreate나 OnResume 에서 값을 호출해서 복구하면 됩니다.

 

SharedPreference로 검색하시면 예제 많이 나와요~
Noizbuster (11,970 포인트) 님이 2013년 2월 24일 답변
0 추천
@Override
 protected void onSaveInstanceState(final Bundle outState) {
  outState.putString("data", "[값(et.getText().toString())]");
  super.onSaveInstanceState(outState);
 }

 @Override
 protected void onRestoreInstanceState(final Bundle savedInstanceState) {
  if (savedInstanceState != null) {
   et.setText(savedInstanceState.getString("data"));
  }
  super.onRestoreInstanceState(savedInstanceState);
 }

 

이렇게 쓰시면 됩니다

그러면 액티비티를 완전히 종료하면 지워지고 아니면 남아있습니다

(Back키나 Home키에선 남아있지요... 태킬같은걸로 지워야 사라질거에요)

글고 SharedPreference 많이쓰진 마세요 나중에 액티비티마다 만들다보면 수십개 갈수도 있어요
수상한i (8,050 포인트) 님이 2013년 2월 24일 답변
...