문제 : 활동 B는 항상 거짓을 반환하지만, 활동 A 내에서 동일한 KEY를 검사하면 결과가 true입니다. 왜 이런거야? 나는 KEY를 확인했다. 그것은 두 활동 모두에서 정확히 같다.Android - SharedPreference 오류
편집 : 귀하의 도움을 주신 모든 분들께 진심으로 감사드립니다. 그러나 제안을 이행 한 후에도 나는 여전히 운이 없었습니다.
ActivityA, extends Activity Implements OnGesturePerformedListener
//How methods are called...
read(getApplicationContext(),"fav", posName);
write(getApplicationContext(), "fav", posName, false);
...
public Boolean read(Context context, String name, String key) {
SharedPreferences sP = context.getSharedPreferences(name, MODE_PRIVATE);
Boolean b = sP.getBoolean(key, false);
return b;
}
public void write(Context context, String name, String key, boolean value) {
SharedPreferences sP = context.getSharedPreferences(name, MODE_PRIVATE);
SharedPreferences.Editor editor = sP.edit();
editor.putBoolean(key, value);
editor.commit();
}
ActivityB, extends FragmentActivity
, 서브 클래스 : 여기에 내가 지금 무엇을 가지고
public static class SectionFragment extends Fragment
내부를 onActivityCreated()
SharedPreferences sP = getActivity().getSharedPreferences("fav", MODE_PRIVATE);
Boolean b = sP.getBoolean(posName, false);
결과 = b
ALWA ys = false
모든 아이디어?
변수'posName'은 어떤 값을 설정합니까? 항상 같은 가치가 있을까요? DDMS보기를 사용하여 공유 환경 설정의 값을 검사 할 수 있습니다. http://stackoverflow.com/questions/14913026/edit-shared-preferences-from-ddms – amatellanes
실제 환경에서 좀 더 상황 별 코드를 제공 할 수 있습니까? 프로그램? 우리가 여기서 본 코드는 괜찮은 것 같지만 사용 중에 보지 않고 말할 수 있습니다. – Brian
안녕 얘들 아, 나는 그것을 고쳤다. 이 오류는 중요한 불일치였다. 죄송합니다.이 게시물을 업데이트하는 것을 잊었습니다. 감사! –