제품 목록이 들어있는 목록보기가 있고 목록 항목을 클릭하면 목록 세부 정보가 열립니다. 목록 항목에는 총중량, 순중량 등과 같은 값이 들어 있습니다.목록보기 onbackpressed 변경 내용을 취소하십시오
목록 항목 세부 정보 페이지 상단에있는 버튼에는 뒤로 버튼이 있습니다.이 버튼을 클릭하면 "저장 하시겠습니까?"라는 대화 상자가 열립니다. 변경 "을 선택하고 예 또는 아니오 버튼을 누릅니다.
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;
}
, I는 다른 참조하여 어레이리스트 작성을 시도하여 값을 설정하는 것을 시도했다.
하지만 작동하지 않는 것 같습니다.
동일한 해결책을 제공해주십시오.
귀하의 요구 사항을 언급하십시오 –
당신은 무엇을 기대합니까? 사용자가 아니요를 누를 때만 알림을 닫고 현재 작업을 마칩니다. 실행 취소 코드가 없습니다. 물론 변경 사항을 실행 취소 할 수는 없습니다. – Joshua
@ Joshua, 십자 버튼을 클릭하면 YES 또는 NO가있는 대화 상자가 나타납니다. YES 키를 누르면 입력 된 값이 목록에 저장되고 NO 키를 누르면 변경 사항이 저장되지 않아 목록에서 목록 세부 정보를 열 때 이전 값이 반영됩니다. –