我有一个列表视图,其中包含产品列表,点击列表项后,列表详细信息将打开。列表项包含毛重,净重等值。
在列表项详细信息页面的顶部,我有一个十字按钮而不是后退按钮,单击该按钮将打开一个对话框,说明"是否要保存更改"并使用是或否按钮。
按YES,我可以在列表视图中保存更改,但是按NO,我无法撤消更改。
以下是显示对话框的代码:
@Override
public boolean onBackPressed() {
final AlertDialog alert = new AlertDialog.Builder(getContext()).create();
alert.setMessage(getContext().getString(R.string.save_activity));
alert.setCancelable(false);
alert.setButton(getContext().getString(R.string.strYes), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
saveAndClose();
}
});
alert.setButton2(getContext().getString(R.string.strNo), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
alert.dismiss();
((Activity)getContext()).finish();
}
});
alert.show();
return true;
}
同样,我尝试使用不同的引用创建一个数组列表,并尝试设置值。
但似乎没有用。
请为此提供任何解决方案。
答案 0 :(得分:1)
有一种简单的方法可以实现这个目标
让我们说你有一个产品类
public class Product{
private boolean currentState;
private boolean previosState;
}
当用户点击十字按钮但未触及 previousState 时,保持 currentState 。
现在选择是或否选择按是否考虑 currentState ,按否则考虑 previosState 。