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
수정 아이콘
상세한 답변 감사합니다!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
99191 [질문] 보통 병원은 어떻게 선택하시나요? [7] 겨울비2860 17/03/09 2860
99190 [질문] 심리적으로 왜 이런걸까요? [5] 장미베개4236 17/03/09 4236
99189 [질문] AMD의 미래 어떻게 보시나요? + 앞으로 나올 라이젠 제품은? [7] pppppppppp3531 17/03/09 3531
99188 [질문] 요즘 할거없어서 라그나로크 다시하려합니다 [12] 어른이유5039 17/03/09 5039
99187 [질문] 스포애니 다닐만 한가요?? [6] 후제12403 17/03/09 12403
99186 [질문] 2박 3일. 여수, 순천, 남해 가능한가요? [26] 광기패닉붕괴4006 17/03/08 4006
99185 [질문] 직장에서 어느정도까지 일하시나요? [38] 칼퇴추구자5744 17/03/08 5744
99184 [질문] 탄핵 인용 시 대선날짜인 5/9에 해외에 있다면.. [3] longtimenosee4216 17/03/08 4216
99183 [질문] <완료>만화를 찾습니다. [4] 쿠우의 절규2993 17/03/08 2993
99182 [질문] 노트북 중고판매시 윈10 라이센스 질문입니다 [3] 해병쫓는사도4082 17/03/08 4082
99181 [질문] 경사있을 때 조사는 안가는 건가요?? [17] 다미6812 17/03/08 6812
99180 [질문] 핸드폰 교체 관련 질문좀 드리겠습니다. [8] HALU2528 17/03/08 2528
99179 [질문] 영화 추천해주세요!! [21] Artanis3922 17/03/08 3922
99178 [질문] 뻘질문 (인류는 절대.시간여행을 하지 못하는 거 아닌가요?) [21] 테란의로망3886 17/03/08 3886
99177 [질문] [궁금] 여러분들은 성에 대한 입문 어떻게 하셨나요? [31] Mindow5419 17/03/08 5419
99176 [질문] 나이 먹을수록 혈압이 떨어지네요 [7] 삭제됨2580 17/03/08 2580
99175 [질문] 모니터를 바꿨는데 글자가 번지네요 [8] 회전목마3885 17/03/08 3885
99174 [질문] 인터넷 회사에서 품질로 장난칠 가능성이 있나요? [13] 히을4679 17/03/08 4679
99173 [질문] For Honor / Ghost Recon: Wildlands 질문입니다. [6] PEPE2705 17/03/08 2705
99172 [질문] 이상한 멀티미디어 메세지가 옵니다. [7] info21c4272 17/03/08 4272
99171 [질문] 휴대폰 피싱 문자 링크 클릭했습니다 [3] Amalfi4147 17/03/08 4147
99170 [질문] [LOL] 볼만한 교육방송 있을까요? [8] Paul Pogba3761 17/03/08 3761
99169 [질문] 편안한 브금, 귀정화 음악 추천부탁드려요 [6] 주여름2645 17/03/08 2645
목록 이전 다음
댓글

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