2016-08-03 10 views
0

Когда я смотрю на карту, возвращающуюся из get all, я могу видеть только значения, которые были установлены ранее как hashmap, и я не могу использовать для 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> 

+0

'preferencesMap.entrySet()' магазинов Строки, а не строки, которые добавили эти представления. Я не думаю, что что-то будет примером EditTextPrefference –

ответ

0

Хорошо, правильный способ сделать это по телефону findPreference с ключевыми