我想将EditText
(在 中AlertDialog
)字段的值存储在SharedPreference
. 它显示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();
}