2012-05-24 4 views
0

질문을 확장 클래스를 클릭은 간단하다 :구현 메뉴 버튼 PopupWindow

어떻게 PopupWindow에서 확장하는 클래스에있는 메뉴 버튼을 클릭을 잡을 수 있습니까?

내가 지금하고 있어요 것은 다음

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    if (keyCode == KeyEvent.KEYCODE_MENU) 
    { 
     if (ab != null) { 
      ab.showActionOverflowMenu(); 
     } 
    } 
    return true; 
} 

ab.showActionOverflowMenu()은 다음을

public boolean showActionOverflowMenu() { 
    if (actions.size() >= 4) { 
     try { 
      if (ag.isVisible()) { 
       ag.dismiss(); 
      } else { 
       showActionOverflow(); 
       return true; 
      } 
     } catch (Exception e) { 
      showActionOverflow(); 
      Log.d("click", "click"); 
      return true; 
     } 
    } 
    return false; 
} 

showActionOverflow() 단지 popupwindow를 설정하고 그것을 attachs 단추.

tl; dr 모드 : 메뉴 버튼을 닫거나 팝업창을 표시하고 싶습니다.

답변

2

PopupWindow 및 해당 확장 프로그램에서 메뉴 이벤트를 catch 할 수 없습니다.

그러나 팝업 메뉴 을 실행하는 팝업 메뉴 이벤트를 Activity에서 catch 한 다음 popupwindow에 전달할 수 있습니다.

+0

좋아, 그게 문제가 내 PopupWindow 모두 Focusable, Touchable 및 outerTouchable했다. Touchable 만 설정하면 문제가 해결됩니다. 감사! – razielsarafan

+0

좋아, PopupWindow를 Focusable이 아닌 것으로 설정하면 할 수 있지만 지금은 popupwindow가 응답하지 않습니다. 어떻게해야합니까? – razielsarafan