0
get allから戻ってくるマップを見ると、前にハッシュマップとして設定された値しか表示されず、EditTextPreferenceにキャストできません。SharedPreferencesはXMLのプリファレンスのタイプまたはすべてを表示しません
そのように見えるのgetAll()は、XML値を優先のための要約を設定されている私は何をしようとしています
から好みのハッシュではなく、種類を取得しています。
public static class Prefs1Fragment extends PreferenceFragment {
SharedPreferences sharedPreferences;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.initial_preferences);
}
@Override
public void onResume() {
super.onResume();
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
Map<String, ?> preferencesMap = sharedPreferences.getAll();
String appId = sharedPreferences.getString(PabuloConstants.InternalAppIdPerfName, "N/A");
// iterate through the preference entries and update their summary if they are an instance of EditTextPreference
for (Map.Entry<String, ?> preferenceEntry : preferencesMap.entrySet()) {
if(preferenceEntry instanceof EditTextPreference){
Log.d("","found instance");
}
}
}
}
XML:
<PreferenceCategory
android:title="Category Title">
<EditTextPreference
android:key="app_id_preference"
android:title="some title"
android:summary="some summary"
/>
<EditTextPreference
android:key="app_id_preference2"
android:title="some title"
android:summary="some summary"
/>
<EditTextPreference
android:key="app_id_preference3"
android:title="some title"
android:summary="some summary"
/>
</PreferenceCategory>
'preferencesMap.entrySet()'店舗でfindPreferenceを呼び出すことですこれらのビューを追加した文字列ではなく、文字列です。私は何もEditTextPrefferenceのインスタンスになるとは思わない –