PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2017/01/31 21:17:42
Name 레이오네
Subject [질문] 안드로이드 개발 - 팝업 윈도우가 안꺼집니다;;
안드로이드로 앱을 만들어보고 있는데, 상당히 골치 아픈 문제에 봉착했습니다.
특정 시간에 따라 AlarmManager 기능을 통해 팝업 윈도우를 띄우는데, 여기에서 이 팝업 윈도우가 안꺼지네요;;

코드는 다음과 같습니다.

public class AlarmPopup extends Activity {
    private PopupWindow popup;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        onShowPopup();
    }

    public void onShowPopup(){
        LayoutInflater inflater = (LayoutInflater)     getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        final View view = inflater.inflate(R.layout.alarm_popup, null, false);
        popup = new PopupWindow(view, 400, 300, true);

        setContentView(R.layout.alarm_popup);

        view.findViewById(R.id.button).post(new Runnable() {
            @Override
            public void run() {
                popup.showAtLocation(view, Gravity.CENTER, 0, 0);
            }
        });

        findViewById(R.id.button).setOnClickListener(mClickListener);
    }

    Button.OnClickListener mClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) { // 팝업 끄면서 타 class에 있는 알람 function을 종료시킵니다.
            Intent i = new Intent(AlarmPopup.this, AlarmService.class);
            stopService(i); // 기묘하게 이건 또 먹힙니다;;
            popup.dismiss();
        }
    };
}

스택 오버플로우에서 물어본 결과 findViewById(R.id.button).setOnClickListener(mClickListener);를 view.findViewById(R.id.button).setOnClickListener(mClickListener);로 바꾸라는 이야기를 들었는데, 문제는 이렇게 하면 이번엔 또 아래 쪽에 있는 버튼 클릭이 아예 먹통이 되네요;;

뭐가 문제일까요? 혹시 아시는 분 있으시면 답변 부탁드리겠습니다 :(

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
17/01/31 22:07
수정 아이콘
onShowPopup안의 popup과 리스너의 popup(클래스 멤버)이 다르네요.
레이오네
17/01/31 22:34
수정 아이콘
앗, 말씀하시는 게 중간에 final PopupWindow popup = new PopupWindow(view, 400, 300, true); 인가요?
popup = new PopupWindow(view, 400, 300, true); 으로 바꿨었는데 본문에는 그 전 버전을 집어넣었었네요;;

코드 아래에 적어놓은 문제는 여전히 발생합니다;; 혹시 변경한 내용도 잘못된 건가요?

...아니면 아예 헛다리?
17/01/31 22:40
수정 아이콘
넵, 제가 이해해보려고 좀 보고 있는데 일단 R.layout.alarm_popup 이 두번 띄워지네요 ( setContentView, showAtLocation), 그 중에 setContentview는 없어도 될것 같습니다.
17/01/31 22:58
수정 아이콘
그렇게 되면 view를 부모로 하는 popup 하나만 남게 되고, stackoverflow 내용처럼 view.findViewById~ 에 클릭리스너를 등록해야겠죠
popup 이 꺼져도 액티비티가 꺼지는 것이 아니므로 popup.setOnDissmissLIstner에 finish() 해주세요.
레이오네
17/01/31 23:07
수정 아이콘
상세한 답변 감사합니다!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
97362 [질문] 라식 후 회복기간은 보통 어느정도 되나요? 경험담 듣고 싶습니다 [14] ECOcup8627 17/01/31 8627
97360 [질문] 안드로이드 개발 - 팝업 윈도우가 안꺼집니다;; [5] 레이오네2775 17/01/31 2775
97359 [질문] 글을찾습니다. [2] 교자만두2924 17/01/31 2924
97358 [질문] [스타1] 테프전에서 커맨드센터 띄운걸 스카웃으로 깬 경우가 있나요? [16] 솔지4935 17/01/31 4935
97357 [질문] 닌텐도 wii 쓰시는분 계신가요? [10] 뽕뽕이3846 17/01/31 3846
97356 [질문] 서울에 이쁜 고양이 인형 파는 곳이 있을까요? [2] 알카드3820 17/01/31 3820
97355 [질문] 선택약정할인 잘 아시는분 있으신가요? [6] backtoback3241 17/01/31 3241
97354 [질문] 전세집 알아보는 중인데 질문요. [21] gneroo4519 17/01/31 4519
97353 [질문] 바깥의 열기를 막기 위해서는 창문을 연다? 닫는다? [3] AirQuick2984 17/01/31 2984
97352 [질문] LG 노트북 U560-GH30K쓰고 있습니다. 블루투스 기능 어떻게 확인 또는 활성화 시키나요? [3] 달걀껍질4178 17/01/31 4178
97351 [질문] 부모님 집에 둘 오디오(백만원~2백만원) 추천부탁드립니다. [4] 달걀껍질2709 17/01/31 2709
97350 [질문] 백버튼 있는 무선 마우스 찾기가 이렇게 힘든건가요? [4] 달걀껍질3222 17/01/31 3222
97349 [질문] 미드 추천해주세요. [14] 앙큼 상큼 응큼3951 17/01/31 3951
97348 [질문] [LOL] 게임중 탭을 누르면 아이디가 안보입니다. [5] SonOfDarkNess5141 17/01/31 5141
97347 [질문] 5월 오키나와 여행을 추진중입니다. [15] 알팅이3409 17/01/31 3409
97346 [질문] 기계알못이 질문드립니다(플스4관련) [6] 다비치이해리2732 17/01/31 2732
97345 [질문] (무역영어) credit granted의 의미가 뭘까요? [2] 소로리2806 17/01/31 2806
97344 [질문] 제주도 먹거리여행 추천 좀해주세용 [12] 어른이유5078 17/01/31 5078
97343 [질문] [컴퓨터] 이런 것도 가능하나요?? [4] 우니3151 17/01/31 3151
97342 [질문] 부모님 휴대폰 바꿔드리려하는데 질문좀 드립니다. [9] Song15631 17/01/31 5631
97341 [질문] 이 그림 속 캐릭터가 누군가요? [3] 작고슬픈나무2578 17/01/31 2578
97340 [질문] 서울에 혼술하기 좋은 곳 있을까요??? [4] 레너블2898 17/01/31 2898
97339 [질문] HDD 4TB 제품 추천부탁드립니다. [3] 수박이박수3360 17/01/31 3360
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로