Looking around the source I think I found what I was looking for. I assume that I need to implement onDialogClosed from DialogPreference.java. But to do this do I need to create a new class say MyDialogPreference or is there a way to just implement that method in the class below?
On Aug 20, 3:55 pm, Nick <nick.vers...@gmail.com> wrote: > I have a DialogPreference in my Preference Activity and would like to > know which button was pressed. I have implemented the > OnSharedPreferenceChangeListener which does not seem to get triggered > when the DialogPreference is selected. I have also tried > OnPreferenceClickListener but this gets triggered as soon as the > DialogPreference is clicked from the main screen and not when one of > the actual dialog buttons was pressed. was. > > So I think I need to implement onClick for this dialog but I am not > sure where to do this. > > public class Preferences extends PreferenceActivity implements > OnSharedPreferenceChangeListener { > > private static final String LOG = "test"; > private DialogPreference mfactory; > > @Override > protected void onCreate(Bundle savedInstanceState) { > super.onCreate(savedInstanceState); > > // Load the preferences from an XML resource > addPreferencesFromResource(R.xml.preferences); > > mfactory = (DialogPreference)findPreference("pref_factory"); > mfactory.setOnPreferenceClickListener(new > DialogPreference.OnPreferenceClickListener() { > > @Override > public boolean onPreferenceClick(Preference > preference) { > Log.i(LOG, "onPreferenceClick1 entered"); > > // TODO Auto-generated method stub > return false; > }}); > } > > @Override > protected void onResume() { > super.onResume(); > Log.i(LOG, "onResume entered"); > > // Add a Listener > getPreferenceScreen().getSharedPreferences > ().registerOnSharedPreferenceChangeListener(this); > } > > @Override > protected void onPause() { > super.onPause(); > Log.i(LOG, "onPause entered"); > > // Remove the Listener > getPreferenceScreen().getSharedPreferences > ().unregisterOnSharedPreferenceChangeListener(this); > } > > public void onSharedPreferenceChanged(SharedPreferences > sharedPreferences, String key) { > Log.i(LOG, "onSharedPreferenceChanged entered"); > if (key.contains("seekbar")) { > } > } > } > > } > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Beginners" group. To post to this group, send email to android-beginners@googlegroups.com To unsubscribe from this group, send email to android-beginners-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~----------~----~----~----~------~----~------~--~---