【发布时间】:2016-09-22 21:57:37
【问题描述】:
我有两个带有EditText 的alertDialog,每个都应该保存一个值以存储在sharedPreferences 中。但似乎不是单独存储它们,而是将第一个输入值替换为第二个输入值。这是我的代码:
public void IPconfig(){
// some AlertDialog Builder codes
sharedPreferences = getSharedPreferences("FirstText", Context.MODE_PRIVATE);
editor = sharedPreferences.edit();
builder.setPositiveButton("Submit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
editor.putString("FirstText", etIP.getText().toString());
editor.apply();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.create().show();
}
public void MonitoringIPConfig(){
// some AlertDialog Builder codes
sharedPreferences = getSharedPreferences("SecondText", Context.MODE_PRIVATE);
editor = sharedPreferences.edit();
builder.setPositiveButton("Submit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
editor.putString("SecondText", etIP.getText().toString());
editor.apply();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.create().show();
}
【问题讨论】:
-
您在两种方法之间重复使用
AlertDialog.Builder实例,这可能是您的问题的原因。每个方法都应该创建自己的AlertDialog.Builder。