2012-12-02 18 views
9

Kodumda Tercihlerim var. Kullanıcı Listeleri'nde radyo düğmesini değiştirdiğinde bir tost göstermek istiyorum. Bu kodu kullandım, ancak doz çalışmaz. :(onPreferenceChange yöntemini değiştirdiyseniz, Listpreferences değişiyor

public class PrefsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener{ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
addPreferencesFromResource(R.xml.prefs); 
} 
public void onSharedPreferenceChanged(SharedPreferences arg0, String key) { 

ListPreference listPreference = (ListPreference) findPreference(key); 
listPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { 

    @Override 
    public boolean onPreferenceChange(Preference preference, Object newValue) { 
     // TODO Auto-generated method stub 
     Toast.makeText(PrefsActivity.this, "second", Toast.LENGTH_LONG).show(); 
     return false; 
    } 
}); 
} 
} 

benim sorunum nedir

+4

Bu yeni bilgiyi düzenlemek gerekir mevcut sorunuza: [Tercihler etkinliğindeki kullanıcı ayarı değiştirdiğinde bir Tost gösterin] (http://stackoverflow.com/q/13665409/1267661) yeni soru. Sorularınıza daha fazla dikkat çekmek için kabul edilebilir yollarla ilgili [SSS] 'e bakınız. – Sam

+0

@Reza_rg: tryLog.v ("ListPreference", "onPreferenceChange"); 'ıPreferenceChange çağrılıyor veya logcat'te görüyor musunuz? –

+0

@imrankhan Şimdi denedim, ve aranacak olan Önem değişmiyor. Ben şimdi ne yapmalıyım? –

cevap

16

için onCreate kodunu değiştirin:?.

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.prefs); 

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
    prefs.registerOnSharedPreferenceChangeListener(this); 
} 

Sen registerOnSharedPreferenceChangeListenerPrefsActivity için Aktivite katkısı olmayan

+0

Bunu denediniz mi? –

+0

Evet! Bu benim hatamdı, teşekkür ederim. :) –

+0

şimdi, başka bir sorunum var. : (listedeki radyo düğmelerinden birine tıkladığımda, ne istediğimi yudumluyor, ama o liste değerlerinde değeri güncellemiyor. –

İlgili konular