2012-12-02 23 views
9

मेरे पास मेरे कोड में एक प्राथमिकता गतिविधि है। मैं किसी टोस्ट को दिखाना चाहता हूं जब कभी भी उपयोगकर्ता सूची सूची में रेडियो बटन बदलता है। मैंने इस कोड का उपयोग किया लेकिन यह काम नहीं करता है। :(onPreferenceChange विधि को तब नहीं कहा जाता है जब सूची संदर्भ बदलता है

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; 
    } 
}); 
} 
} 

मेरी समस्या क्या है

+4

आप इस नई जानकारी को संपादित करना चाहिए अपने मौजूदा प्रश्न में: [जब टोस्ट प्राथमिकता गतिविधि में सेटिंग बदलते हैं तो टोस्ट दिखाएं] (http://stackoverflow.com/q/13665409/1267661), बजाय नया सवाल कृपया अपने प्रश्नों पर अधिक ध्यान देने के लिए स्वीकार्य तरीकों के बारे में [एफएक्यू] देखें। – Sam

+0

@Reza_rg: आपने'Log.v ("ListPreference", "onPreferenceChange") को आजमाया है; 'पर देखने के लिए PreferenceChange को लॉगकैट में कहा जाता है या नहीं? –

+0

@imrankhan मैंने इसे आजमाया, और ऐसा लगता है कि प्रेफरेंस चेंज को कॉल नहीं किया जाना चाहिए। अब मुझे क्या करना चाहिए? –

उत्तर

16

करने के लिए अपने onCreate कोड बदलें:?।

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

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

आप registerOnSharedPreferenceChangeListenerPrefsActivity को गतिविधि जोड़ने नहीं कर रहे हैं

+0

क्या आपने इसे आजमाया है? –

+0

हां! वह मेरी गलती थी, धन्यवाद। :) –

+0

अब, मुझे एक और समस्या है। :(जब मैं सूची संदर्भों में से किसी एक रेडियो बटन पर क्लिक करता हूं, तो यह चाहता है कि मैं जो चाहता हूं उसे टोस्ट करें, लेकिन यह सूची संदर्भों में मूल्य अपडेट नहीं करता है। –