2012-09-04 2 views
0

PopupWindow의 특정 버튼을 클릭하면 AlertDialog이 표시되어야합니다. AlertDialog.Builder()으로 전화 하시려면 context이 필요합니다. "this"을 사용하면 "Type mismatch: cannot convert from new View.OnClickListener(){} to Context"오류가 발생합니다. getBaseContext()처럼 알고있는 몇 가지 다른 종류의 컨텍스트가 있지만 그 대신 프로그램 충돌이 발생합니다. 어떤 유형을 사용해야할지 모르겠다. 근본적으로 OS가 이 pupupwindow 안에 있다는 것은 나에게 말해 줍니까?PopupWindow의 OnClickListener 내의 AlertDialog - 허용 되었습니까?

+0

대신 'MyActivityName.this'를 사용하십시오. 그렇지 않으면'onClickListener'를 주겠다. (나는 익명으로 가정한다.)'Context' (액티비티 이름 사용)를 구현하지 않는다. – Fr33dan

답변

2

상위 액티비티를 컨텍스트 Mick으로 전달하십시오. 대화의 적절한 컨텍스트가됩니다.

+1

그렇다. 나는 동의한다. 팝업은 더 팝업을 생성하는 것을 짜증나게한다. 최적이 아닌 UX로 이어지는 UI. – OceanLife

+0

네, 그렇습니다. 감사. 시스템이 허용하는 한 빨리 진드기를 줄 것입니다. 참고로 이것이 다소 불규칙한 UI 순서라는 것을 알고 있지만 다소 예외적 인 상황입니다. 가볍게 사용하지는 않습니다. – Mick