我想在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();
}
答案 0 :(得分:3)
SharedPreferences preferences = PreferenceManager
.getDefaultSharedPreferences(acivity.this);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("a", "a");
editor.commit();