메인에서 startActivityForResult를 이용해서 서브화면을 띄웠습니다
서브화면 스타일이 다이얼로그 스타일로 지정되있어서 서브가 뜨면 뒤에 메인이 보입니다
서브화면에서 제가 원하는 아이템 클릭하면 값을 다시 메인에 넘겨주면서 화면이 닫아집니다
그런데 전 아이템 선택하거나 선택을 안하고 그냥 닫고 싶은경우에는 뒤에 배경 화면을 클릭하면 해당 서브 화면을 닫고 싶습니다
검색하니 static으로 finish하는 것을 만들라고 했는데
서브에서
static void subKill(){
finish();
}
이렇게 하면 finish()여기에 오류가 있다고 합니다
서브 Activity 종료하는 방법좀 자세히 알려주세요 ㅠ.ㅠ
static으로 선언하고 메인Activity쪽에서 어떻게 호출해서 써야되는지도좀요....
서브 엑티비티에 바로
public static Activity subActivity = this;
이거 하니까 this에 에러나서
public static Activity subActivity = null;
onCreate안에 subActivity = this;
이렇게 주고
메인쪽을 클릭할때 SubActivity.subActivity.finish();
이걸 호출하는데 어디에서 호출해야되나요??
메인쪽 onTouchEvent에서는 해도 안먹히던데
지금 화면이 메인에서 버튼 클릭하면 서브 Activity가 다이얼로그 스타일 적용해서 메인 위에 붕뜬 형태로 나오거든요
메인이 뒤쪽에 보이는데 거기 클릭하면 사라져야되는데 방법좀... ㅠ.ㅠ
static이라 oncreate 안에서 subActivity = this; 해주는건 맞구요.
다이얼로그스타일이면 activity.dismiss()로 해보세요.
그리고 이해가안되는게 팝업형식으로 떠잇는데 투명으로 뒷 메인이 보인다는말인거죠?
팝업이 떠있는데 뒷 배경 클릭이 되나요?
테스트 안해봐서 몰겟는데 액티비티가 앞에있으면 뒷배경 클릭이 안될텐데요.
그럴 거라면 팝업형식으로 frameLayout으로 메인에 하나 만들어놓고 레이아웃을 visible시키고 gone 시키는게 나을듯싶네요.
그럼 뒷배경 컨트롤도 자유롭고..




public static Activity subActivity = this;
SubActivity.subActivity.finish();