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
수정 아이콘
상세한 답변 감사합니다!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
99167 [질문] 게임용으로 5.1 채널이 의미가 있을까요? [10] 마르키아르4442 17/03/08 4442
99166 [질문] 한 개인이 폰번호를 모두 몇개 사용가능할까요? [3] ZeroOne3596 17/03/08 3596
99165 [질문] F1, F2키(F관련 모든키), Alt F4, 안됩니다. [5] MakeItCount8808 17/03/08 8808
99164 [질문] 한컴오피스 저작권관련 문의입니다. [3] 알마4694 17/03/08 4694
99163 [질문] 덕평휴게소 상하행?? [4] 네라주리5377 17/03/08 5377
99162 [질문] 동일 ip에서 오버워치 두개를 돌릴수 있나요? [3] ZeroOne3880 17/03/08 3880
99161 [질문] 퇴사 및 이직 관련하여 질문 드립니다.(+회사 주식 관련) [7] 삭제됨3929 17/03/08 3929
99160 [질문] 에버노트, CCCleaner는 회사컴에서 못쓰나요? [3] 뀨뀨2726 17/03/08 2726
99159 [질문] 달러 투자 질문입니다 [1] SpicyPeach2482 17/03/08 2482
99158 [질문] 컴알못의 견적요청입니다. [16] Naked Star3819 17/03/07 3819
99157 [질문] 블루투스 키보드로 2개의 기기 연결이 안되나요? [3] 참된깨달음3136 17/03/07 3136
99156 [질문] 엑박원 패드에 대해 질문합니다. [8] ISUN4341 17/03/07 4341
99155 [질문] 선형대수, 알고리즘 공부 관련 질문 [12] 오클랜드에이스5777 17/03/07 5777
99154 [질문] 미국같은 초강대국이 경찰국가로 패권을 행사하는것과 미국이 무너지고 [12] ZeroOne3722 17/03/07 3722
99153 [질문] 애인사이에 여행가서 싸울 가능성? [35] rollercoaster11219 17/03/07 11219
99152 [질문] [디아2] 디아2에 대한 질문입니다. [4] Janzisuka5727 17/03/07 5727
99151 [질문] 르노 트위지 구매질문입니다. [3] chaeeeng6313 17/03/07 6313
99150 [질문] 취업할때 전공과목학점이 중요한가요?? [12] 모어모어11363 17/03/07 11363
99149 [질문] 이어폰 질문이에요(면세점) [3] 교자만두3088 17/03/07 3088
99148 [질문] 선글라스 질문 후회하기싫다..2134 17/03/07 2134
99147 [질문] 여수, 순천 여행지 추천 부탁드립니다. [14] 광기패닉붕괴5078 17/03/07 5078
99146 [질문] 정서 치료때문에 작성해봅니다. [2] 물리쟁이2577 17/03/07 2577
99145 [질문] 자동차 구매 고민입니다. (제네시스 G80 vs 벤츠 E220d) [52] yourmom18305 17/03/07 18305
목록 이전 다음
댓글

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