2013-12-24 1 views
0

У меня есть всплывающее окно-как это:андроид прибудет KeyEvent для фокусируемого PopupWindow

View view = li.inflate(R.layout.someview, null); 
PopupWindow popup = new PopupWindow(context); 

popup.setBackgroundDrawable(new BitmapDrawable()); 
popup.setWidth(ViewGroup.LayoutParams.MATCH_PARENT); 
popup.setHeight(ViewGroup.LayoutParams.MATCH_PARENT); 
popup.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); 

popup.setTouchable(true); 
popup.setFocusable(true); 
popup.setContentView(view); 

Внутри всплывающего окна есть EditText, который определенно должен быть в состоянии получить фокус !!

Так что я не могу удалить setFocusable(true); флаг
, но я хочу, чтобы получить keyEvents внутри всплывающего окна в любом случае.

Итак, как я могу получать ключевые события на фокусируемом всплывающем окне?

ответ

0

Я предлагаю вам использовать индивидуальный макет, который превысил событие диспетчера событий и затем отправил событие в popupWindow. Что я видел, так это то, что ключевые события передаются группе просмотра в popupwindow. Пожалуйста, проверьте ViewRootImpl доставкиKeyEvent и PopUpWindow's dispatchKeyEvent.

Смежные вопросы