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> 

+0

'preferencesMap.entrySet()'店舗でfindPreferenceを呼び出すことですこれらのビューを追加した文字列ではなく、文字列です。私は何もEditTextPrefferenceのインスタンスになるとは思わない –

答えて

0

[OK]を、これを行うための正しい方法は、キー

関連する問題