다음과 같은 문제가 있습니다. 내 응용 프로그램에 여러 가지 기본 설정이 sharedPreferences에 저장되어있어 응용 프로그램의 여러 설정을 기록합니다. 이들은 일부 문자열입니다. 이 설정에 대한 일부 기본값으로 시작하는 응용 프로그램이 있기를 원하면 onCreate에서 관련된 각 sharedPreference가 null인지 확인하는 각 설정에 대해 "Setting"객체를 만들고 기본 값을 다음과 같이 설정합니다. sharedPreference.ListPreferences의 이상한 동작
Setting(int setting, String default)
{
storedPref=sharedPref.getString(getText(setting),null);
if(storedPref==null)
{
SharedPreferences.Editor edit=sharedPred.edit()
edit.putString(getText(setting),default);
edit.comit
}
}
이러한 설정과 관련된보기는 ListPreferences()입니다. 처음 응용 프로그램을 열면 선택한 목록이 기본값 인 옵션 목록이 표시되지만 때로는 옵션이 선택되지 않고 의도하지 않은 기본 옵션도 선택되지 않는 경우가 있습니다.
listPreferences는 배열을 "entries 태그"및 "values 태그"로 설정하여 xml로 생성됩니다. 나는 정말로 모르겠다. 디폴트를위한 Setting 객체의 생성자, 엔트리 배열의 멤버, 또는 값 하나의 무언가를 전달해야 하는가? 항목의 구성원을 전달하면 Listpreferences가 예상되는 동작을하고 일부는 위에서 설명한 내용을 갖게됩니다. 그렇지 않으면 값 배열에서 뭔가를 전달하면 같은 일이 발생합니다! 아무도 이상한 행동을하는 사람이 있습니까? 당신은 그냥 쉽게 쓸 수
네,하지만 기본 내가 필요하다, 저장되는 것은 아닙니다보다. –