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

textview에 그 전에 출력된 값에 이어서 나오게 할 수 없나요?

0 추천
SharedPreferences pref1 = getSharedPreferences("PrefName", MODE_PRIVATE);
SharedPreferences.Editor editor = pref1.edit();
editor.putString(KEY_MY_PREFERENCE, pwdata);
editor.commit();

메인엑티비티에 edittext 값을 저장한 코드구요

SharedPreferences pref1 = getSharedPreferences("PrefName", MODE_PRIVATE);
String text = pref1.getString(KEY_MY_PREFERENCE, "");
View.setText(text);

다른액티비티에 textview에 값을 띄우는 코드입니다..
이전값을 그대로 유지하면서 새로운 값을 textview에 띄우려면 어떻게해야하나요..?

메인 엑티비티에서 edittext로 값을 입력받아서 다른 액티비티에 textview에 그 값을 출력하려고 하는데요.

처음에 intent로 했을 때는 이전값이 계속 사라져서 sharedpreferences 이용해서 코딩했습니다.

그래서 데이터가 저장은 되는것 같은데 이어서 나오지는 않더라구요..

익명사용자 님이 2015년 4월 28일 질문
질문이 이해가 잘 안가네요...설명을 좀 더 확실하게 해주셔야 답변을 드릴텐데...
edittext 로 값을 입력받은 후 다른 액티비티에 있는 textview에서 그 값을 받아보고싶습니다. 근데 저렇게 하면 edittext에 값을 입력할때마다 textview 에 새롭게 입력된 값이 떠서요. 원래 텍스트뷰에 보여지는 값에 누적되서 새롭게 입력된값이 출력되도록 하려면 어떻게해야하나요?

2개의 답변

0 추천
textView.append(text);
Gradler (109,780 포인트) 님이 2015년 4월 29일 답변
이렇게하면 1입력했을때 TextView1, 2입력했을때 TextView2 이런식으로 TextView뒤로 입력값만 바뀝니다.. TextView라는 글자는 어디서나온건지 모르겠고 입력값도 계속 남아있어야 하는데요..ㅠㅠ
0 추천
SharedPreferences에 저장할때 기존값+현재입력값해서 저장하면 계속 연결되서 저장되겠는데요;;

그러고 다음 액티비티에서 값받아오면 여태까지 누적된 값들이 나오겠네요;

1) SharedPreferences에서 저장되어있는 값을 받아온다

2) 받아온값 + editText.getText 한 값을 다시 SharedPreferences에 저장한다

3) 다음 액티비티에서 SharedPreferences에서 값을 받아온다

어느 정도의 문자열을 누적시킬진 모르겠지만
어렵군요 (5,920 포인트) 님이 2015년 4월 29일 답변
sharespreference에 저장할때 기존값을 어떻게 불러오나요?? View.getText().toString() 이런식으로했는데 잘 되지 않아서요..
SharedPreferences pref1 = getSharedPreferences("PrefName", MODE_PRIVATE);
String text = pref1.getString(KEY_MY_PREFERENCE, "");
이렇게 해놓으셨네요;; 뭐가 안된다는거죠............

SharedPreferences pref1 = getSharedPreferences("PrefName", MODE_PRIVATE);
String text = pref1.getString(KEY_MY_PREFERENCE, "");
text+=editText.getText().toString();
SharedPreferences.Editor editor = pref1.edit();
editor.putString(KEY_MY_PREFERENCE, pwdata);
editor.commit();
읽어와서 다시 저장해주면 되는건데
아.. 이게 같은 액티비티에서 입력하고 텍스트뷰에 띄우는게 아니라 다른액티비티에서 edittext로 입력받은 값을 다른 액티비티에 텍스트뷰에 띄우는 거라서요..

SharedPreferences pref1 = getSharedPreferences("PrefName", MODE_PRIVATE);
 String text = pref1.getString(KEY_MY_PREFERENCE, "");
이거는 다른 액티비티 edittext로 입력받은 값을 텍스트뷰가 있는 액티비티로 불러오는 코드고

SharedPreferences.Editor editor = pref1.edit();
 editor.putString(KEY_MY_PREFERENCE, pwdata);
 editor.commit();
이거는 edittext로 입력받은 값을 저장한 코드거든요..
서로 다른액티비티에 각각 쓴 코드라서 어떤식으로 해야할지 전혀 감이 안잡힙니다..ㅠㅠ
혼자 공부하면서 하고 있어서 아직 모르는게 많아서요...
그러니까요;;

<!-- A.class -->
SharedPreferences pref1 = getSharedPreferences("PrefName", MODE_PRIVATE);
 String text = pref1.getString(KEY_MY_PREFERENCE, "");
 text+=editText.getText().toString();
 SharedPreferences.Editor editor = pref1.edit();
 editor.putString(KEY_MY_PREFERENCE, text);
 editor.commit();

<!-- B.class -->
SharedPreferences pref1 = getSharedPreferences("PrefName", MODE_PRIVATE);
 String text = pref1.getString(KEY_MY_PREFERENCE, "");
edittext.setText(text);
하면 되잖아요
헐 감사합니다. 입력받은거에 이전값을 다시 저장하는걸 이론으로만 생각하고 실제로 어떻게 해야할지 감이 안잡혔었는데 해보니까 되네요!
중간에 pwdata 대신 text를 저장하는걸로 하니까 됩니다ㅜㅜ....
되게 간단한건데ㅜㅜ 공부 열심히 해야겠네요 감사합니다!
...