Android 编辑文本首选项
我已经设置了编辑首选项,但是当我使用Android 编辑文本首选项,android,android-edittext,android-preferences,Android,Android Edittext,Android Preferences,我已经设置了编辑首选项,但是当我使用ondismiss侦听器时,当单击ok按钮时,我没有得到onchangesetener,但是当注释该代码时,我得到onchangesetener侦听器,但在取消注释后,我没有得到onchangesetener public class Preferences extends PreferenceActivity{ SharedPreferences sharedPreferences=null; String text=null; St
ondismiss
侦听器时,当单击ok按钮时,我没有得到onchangesetener
,但是当注释该代码时,我得到onchangesetener
侦听器,但在取消注释后,我没有得到onchangesetener
public class Preferences extends PreferenceActivity{
SharedPreferences sharedPreferences=null;
String text=null;
String negativeBtnTxt=null;
private EditTextPreference editTextPreference=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference_layout);
sharedPreferences=PreferenceManager.getDefaultSharedPreferences(getBaseContext());
Preference preference=(Preference)findPreference("customPref");
editTextPreference=(EditTextPreference)findPreference("editTextPref");
editTextPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Log.v("in Preferences","edit text pref onclick");
dialogActivated();
return false;
}
});
editTextPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
Log.v("in Preferences","edit text pref changed");
return false;
}
});
Log.v("edit text dialog=","---"+editTextPreference.getDialog());
Log.v("ET value is=",""+sharedPreferences.getString("editTextPref", "Hello!!!"));
preference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Toast.makeText(getApplicationContext(), "Clicked on preference", 3).show();
Log.v("in Preferences","");
return false;
}
});
}
private void dialogActivated()
{
if(editTextPreference.getDialog()!=null)
{
editTextPreference.getDialog().setCancelable(true);
editTextPreference.getDialog().setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
Log.v("in Preferences","back key cancel");
}
});
editTextPreference.getDialog().setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
Log.v("in Preferences","dismis called");
editTextPreference.getNegativeButtonText();
}
});
}
}
}
好的,请再详细说明一下。。。