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

커스텀리스트뷰 데이터 저장은 어떻게 하나요???

0 추천
어플을 껏다 켜도 데이터가 유지되는 코드를 짜고 있는데
 검색하면서 저렇게 짜봤는데
 안되더라구요..어디가 문제일까요??


SharedPreferences pref = getSharedPreferences("a", MODE_PRIVATE);

for(int j = 0; j < list_item.size(); j++){
     String st = pref.getString("j" , " ");

}//데이터 호출


SharedPreferences sp = getSharedPreferences("a" , MODE_PRIVATE);//저장된 파일을 불러오기 위해 같은 이름의 파일을 찾음
SharedPreferences.Editor  edit = sp.edit();//editor에 put하기


for(int i = 0; i < oAdapter.getCount(); i++){
    String jsonsplace = gson.toJson(list_item);
        edit.putString("i", jsonsplace);

    edit.commit();
//이건 데이터 저장


달려갑니다 (280 포인트) 님이 2019년 11월 5일 질문

1개의 답변

0 추천

"I" 라는 이름으로 저장하고, "j" 라는 이름으로 로드하니 나올리가 없죠...

인덱스 숫자로 저장했다 로드 하고 싶으시면 아래와 같이 변경 하세요

for(int i = 0; i < oAdapter.getCount(); i++){
    String jsonsplace = gson.toJson(list_item);
        edit.putString(""+i, jsonsplace); 

 

for(int j = 0; j < list_item.size(); j++){
     String st = pref.getString("" +j , " ");

 

 

익명사용자 님이 2019년 11월 6일 답변
아 저도 후에 잘 못 쓴거 인지하구 i로 변경했는데 저장은 되는 것 같아요 근데 불러오는 코드에서 저렇게 작성하면 리스트로 안 나오던데 그 부분은 어떻게 해야될지 알려주실수 있으신가요??
막연히 안 나온다고 하시면...=ㅇ=;;
getString시 값이 안 나오는건가요? 아님 값은 나오는데. 리스트 뷰에 안 나오는건가요?

getString 값이 안나온다면 이름이 잘 못 되었거나 commit이 완료 되기 전에  getString 이 불렸다고 밖에 할 수 없으니. 그 쪽을 점검 해 보시면 되고,

값은 나왔는데 list에 나오지 않았다면 adapter에 변한 값을 제대로 세팅했는지와, 기존에 설정된 값을 변경하는 상황이라면 notifydatasetchanged() 이가  호출 되었는지 확인 해 보세요.
...