Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 编辑文本首选项_Android_Android Edittext_Android Preferences - Fatal编程技术网

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

好的,请再详细说明一下。。。