AlertDialog 빈 곳을 클릭하고 버튼으로 돌아가는 동작
1417 단어 AlertDialog클릭하여 공백 숨기기
4
그러면 공백을 누르고 대화상자를 숨기지 않고 안드로이드의 리턴 버튼을 누르면 이전의Activity로 돌아가는 방법은 무엇입니까?
코드를 직접 보려면 다음과 같이 하십시오.
//*******************
public static void showAlertDialog(final Context context, String title, CharSequence[] items,
OnClickListener listener, boolean canceledOutside){
Builder builder = new AlertDialog.Builder(context).setTitle(title).setItems(items, listener);
if(canceledOutside){
builder.show();
}else{
AlertDialog dialog = builder.create();
// dialog ,dialog
dialog.setCanceledOnTouchOutside(false);
dialog.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK &&
event.getAction() == KeyEvent.ACTION_UP) {
// back , Activity
dialog.cancel();
boolean isActivity = context instanceof Activity;
if(isActivity){
Activity act = (Activity)context;
act.finish();
}
return false;
}
return false;
}
});
dialog.show();
}
}
dialog의 dismiss와 cancel 방법의 차이점:
cancel은 Cancel Listener를 호출합니다. 이것은 가장 큰 차이입니다. 또한 cancel은dismiss를 호출합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Flutter AlertDialog의 너비를 화면 가득 늘립니다.AlertDialog의 너비를 화면 가득 늘리고 싶습니다. 원래는 통상의 화면이었던 것을, 다이얼로그화해 주었으면 한다고 말해져, 다이얼로그화했지만, 아무래도 비좁은 느낌이 되어 버리고 있었으므로, 다이얼로그의 패딩...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.