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
수정 아이콘
상세한 답변 감사합니다!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
99071 [질문] [스포]영화 로건과 관련된 질문... [5] 익금불산입4680 17/03/06 4680
99070 [질문] 형법 고수분들께 질문 드립니다(실체적 경합범) [2] S.hermit6900 17/03/06 6900
99069 [질문] 캐리비안 해적시리즈 또 나오는데 레고 소식은 없나요? [1] 냉면과열무3619 17/03/06 3619
99068 [질문] 60억!이면 대략 어느 정도 크기일까요? [3] euimseed3969 17/03/06 3969
99067 [질문] [LOL] T1 vs KT 마지막 3경기 밴픽에 대해서 [10] 리니시아4856 17/03/06 4856
99066 [질문] 구두발볼넓힘문의 [2] Cherish3641 17/03/06 3641
99065 [질문] 디스아너드2 한글 패치 문의 [2] 마롱7029 17/03/06 7029
99064 [질문] 혐) 벌레질문집출몰중 [4] 이혜리3982 17/03/06 3982
99063 [질문] 컴알못이 질문올리겠습니다. [4] 고양이뱃살2759 17/03/06 2759
99062 [질문] MagSafe2 를 USB-C 충전포트로 변환하는 어댑터/젠더가 있을까요? [1] klados3801 17/03/06 3801
99061 [질문] 스타2 저그 모든 부화장 부대지정 하는방법 있나요? [5] 사고회로7209 17/03/05 7209
99060 [질문] 집에서 혼자 마실 가성비 좋은 술 추천 부탁드립니다 [17] 포이리에9502 17/03/05 9502
99059 [질문] 중고차 매매사이트 추천부탁드려도 될까요? 하우두유두2762 17/03/05 2762
99058 [질문] 퇴사 타이밍 조언 부탁드려요 [4] Right4952 17/03/05 4952
99057 [질문] 저녁식사 거절 어떻게 해야될까요 [34] DogSound-_-*9197 17/03/05 9197
99056 [질문] 받는 사랑과 주는 사랑 중 어떤걸 선호하십니까? [8] 삭제됨3962 17/03/05 3962
99055 [질문] 포기가 너무 빨라서 고민입니다. [11] 물리쟁이3826 17/03/05 3826
99054 [질문] 내일 이사가는데 인터넷 공유기관련 질문있습니다!! [2] 부폰5033 17/03/05 5033
99053 [질문] 조건이 괜찮은데 오랫동안 안팔린 중고차는 뭘까요? [7] 수지짜응6179 17/03/05 6179
99052 [질문] 안드로이드 영상통화는 페이스타임하고 다른가요? [2] Artanis5977 17/03/05 5977
99051 [질문] 캐논 복합기에 사용가능한 무한잉크 제품 있을까요? [2] Sith Lorder3501 17/03/05 3501
99050 [질문] 유게에서 휴지 벽쪽 바깥쪽 보고 든생각입니다 [4] 이블린2783 17/03/05 2783
99049 [질문] 우병우 7급은 2달 안에 붙을까요? [36] 개망이8562 17/03/05 8562
목록 이전 다음
댓글

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