自定义警报对话框中的共享首选项
问题描述:
我想要在SharedPreference
中存储EditText
(AlertDialog
)字段中的值。它显示在此行SharedPreferences.Editor editor = sp.edit();
**注意NullPointerException
:代码工作不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();
}
答
SharedPreferences preferences = PreferenceManager
.getDefaultSharedPreferences(acivity.this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("a", "a");
editor.commit();
哪里是你的SP变量声明? – 2013-03-28 08:05:44