android custom dialog에서 activity를 실행시키고 다시 back 버튼을 눌렀을 때 dialog를 지우려면?
조회수 4056회
안녕하세요. 다음과 같이 custom dialog를 실행시켰습니다.
ImageButton mainBT = (ImageButton)findViewById(R.id.main_button);
mainBT.setOnClickListener(new ImageButton.OnClickListener() {
@Override
public void onClick(View v) {
dialogMain = new DialogMain(MainActivity.this, clickListener);
dialogMain.show();
}
});
custom dialog인 DialogMain의 레이아웃 dialog_main은 이렇게 생겼습니다.
A ~ Z는 각각 이미지와 텍스트로 이루어진 레이아웃으로 클릭 이벤트를 넣어서 새로운 activity를 실행하도록 하고 있습니다. 레이아웃을 클릭하면 정상적으로 새로운 activity가 실행됩니다.
public class DialogMain extends Dialog {
private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_main);
LinearLayout layoutA = (LinearLayout)findViewById(R.id.layout_A);
layoutA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mContext, NewActivity.class);
mContext.startActivity(intent);
}
});
...
문제는 activity를 종료했을 때입니다. 즉 back 버튼을 클릭해서 이전 화면으로 돌아오면 dialog가 그대로 남아 있습니다. 아마 이게 정상적으로 작동하는 것이겠죠;;; 저는 이전 화면으로 돌아왔을 때 dialog가 없는 상태(dialog를 호출하기 전 activity만 보이도록)가 되면 좋겠는데 방법이 없을까요?
dialog에서 새로운 activity를 실행시키는 onClick()에서 startActivity한 다음 dialog를 스스로 dismiss 하려면 어떻게 해야할까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력