Android デバイスで奇妙な動作が発生しています。ポップアップのボタンをクリックすると、基になるリスト要素がクリックされます。助言がありますか?z-index アプローチを試しました。
1 に答える
これは、背景が != null でない限り、ポップアップ ウィンドウが onTouch または onKey イベントに応答しないためです。
背景を null にできない理由は、PopupWindow#preparePopup で何が起こるかによるものです。background != null を検出すると、PopupViewContainer のインスタンスを作成し、その上で setBackgroundDrawable を呼び出して、コンテンツ ビューを配置します。PopupViewContainer は基本的に、タッチ イベントと KeyEvent.KEYCODE_BACK イベントをリッスンしてウィンドウを閉じる FrameLayout です。background == null の場合、それは行われず、コンテンツ ビューのみが使用されます。それを処理するために PopupWindow に依存する代わりに、ルート ViewGroup を拡張して、希望どおりに動作させることができます。
ダイアログを表示する前に setBackgroundDrawable を呼び出してください...それを理解するのにしばらく時間がかかりました。
私は同様のことに遭遇し、ここで必要な答えを見つけました: Androidポップアップウィンドウの却下