2013-04-03 87 views
0

我正在使用sharedPreference編寫應用程序,並且想要顯示display the selected item of list在Listpreference中顯示所選項目的結果問題

我使用的follwing代碼:

refresh.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { 

      @Override 
      public boolean onPreferenceChange(Preference preference, 
        Object newValue) { 
       Toast.makeText(getBaseContext(), 
         "list preference:"+newValue.toString(), 
         Toast.LENGTH_SHORT).show(); 
       refresh.setSummary(refresh.getEntry()); 
       return true; 
      } 
     }); 

但問題是,我不能顯示列表的當前選擇的項目。而不是這個,我正在接收上一個選擇的列表項目。

我不知道我使用的是否正確。

有沒有其他的方式來顯示它?

任何人都可以幫助我嗎?

回答

0

試着用的preference.getSummary()代替newValue.toString()

refresh.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { 

     @Override 
     public boolean onPreferenceChange(Preference preference, 
       Object newValue) { 
      Toast.makeText(getBaseContext(), 
        "list preference:"+preferences.getString("preference_key"), 
        Toast.LENGTH_SHORT).show(); 
      refresh.setSummary(preferences.getString("preference_key")); 
      return true; 
     } 
    }); 
+0

有偏好沒有getString方法?是偏好還是偏好?但都沒有getString方法。 – Dhasneem

+0

通過首選項,我指向'SharedPreference'對象而不是'Preference'對象。 – jaibatrik