自定义警报对话框中的共享首选项

时间:2013-03-28 08:02:49

标签: android sharedpreferences android-alertdialog

我想在EditText中存储AlertDialogSharedPreference)字段中的值。它在此行NullPointerException上显示SharedPreferences.Editor editor = sp.edit(); **注意:代码在没有SharedPreferences **的情况下正常工作**

    private void myDialog() {
    // TODO Auto-generated method stub
    LayoutInflater inflater = LayoutInflater.from(getApplicationContext());
    View view = inflater.inflate(R.layout.cus_dialog, null);
    AlertDialog.Builder ab = new AlertDialog.Builder(this);
    ab.setView(view);
    final EditText input = (EditText) view.findViewById(R.id.etValue);

    ab.setCancelable(false);
    ab.setPositiveButton("Send", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            String s = input.getText().toString();
            SharedPreferences.Editor editor = sp.edit();
            editor.putString("A", s);
            editor.commit();
            Toast.makeText(getApplicationContext(), "" + s,
                    Toast.LENGTH_SHORT).show();
        }
    });
    ab.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
            dialog.cancel();
        }
    });
    AlertDialog ad = ab.create();

    ad.show();
}

enter image description here

1 个答案:

答案 0 :(得分:3)

SharedPreferences preferences = PreferenceManager
                        .getDefaultSharedPreferences(acivity.this);
                SharedPreferences.Editor editor = preferences.edit();
                editor.putString("a", "a");
                editor.commit();