공유 환경 설정에서 값을 저장 및 검색하려고하지만 처음으로 응용 프로그램을 열면 공유 환경 설정 값이 NULL입니다. 다음 번부터 이전 키의 값을 보여줍니다. 공유 환경 설정에서 배열 목록 값 저장 및 검색 null
이
내가 배열 목록의 값 또는 "SET"을 얻고 싶은 내 코드, 여기SharedPreferences sharedPreferences;
SharedPreferences.Editor editor;
Set<String> set;
sharedPreferences = getApplicationContext().getSharedPreferences(mypreference, Context.MODE_PRIVATE);
databaseReferenceImages.child(postkey).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
SharedPreferences.Editor editor = sharedPreferences.edit();
Set<String> sharedlist = new HashSet<String>();
sharedlist.addAll(second);
editor.putStringSet("notifications", sharedlist);
editor.apply();
for (String a : sharedlist) {
Log.d("thesharedlist", a);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
set = sharedPreferences.getStringSet("notifications", null);
if (set != null) {
for (String a : set) {
Log.d("thesetis", a);
}
}
내가 특정 "POSTKEY"의 값을 원하는 (Poskey 각 게시물에 대한 다를 수 있습니다)입니다 onDataChange 메서드 밖에 있으므로 공유 환경 설정을 사용했습니다. 그것의 문자열을 잘 작동하지만 배열 목록 또는 집합 아닙니다. 내가 처음으로 응용 프로그램을 열고 특정 게시물을 클릭하면 다음과 같은 문제가
발생, 반환되는 공유 기본 설정 값의 값은 NULL입니다.
동일한 게시물을 두 번째 열면 값은 으로 완벽하게 반환됩니다.
두 번째 게시물을 열면 이전 게시물 의 값이 반환됩니다.
첫 번째 게시물을 다시 열면 두 번째 게시물의 값이 반환됩니다.
어디서 잘못 되었나요? 앱을 열 때마다 공유 환경 설정의 값을 지우려고했지만 동일한 문제가 발생합니다. 심지어이 link을 따라 갔지만 아무 것도 효과가 없었습니다. 어떤 도움이라도 좋을 것입니다. 미리 감사드립니다.
시도', 내 코드입니다 그것은 당신이 데이터가 실제로 편집기에 저장되어 있는지 확인 한 @LunarWatcher – Zoe
을 editor.commit'? 관련 코드가 실제로 – Anusha
을 작동하지 않습니다 – Zoe