4

WindowManagerを使用してビューを追加しました。

それは私がやりたかったことを正しく示しています、

しかし、私には問題があります。これが問題です。

  • 戻るキーを押しても、Androidコンポーネント(アクティビティなど)では影響しません

追加したビューは、ビューをクリックしたときにのみフォーカス可能(ビューの内側のボタンをクリックできます)で、ビューの外側で作業を処理できます。(たとえば、ボタンがある場合はクリックでき、戻るキーを押すと、一番上のアクティビティが消えます)

しかし、フラグ(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE)を追加すると、追加したビューのボタンでonClickメソッドを受け取ることができません。ただし、戻るボタンは正しく機能します。

それ以外の場合、フラグを削除すると、onClickコールバックを受信できますが、戻るボタンが機能しなくなります。

私はジレンマを抱えています。:(

ありがとうございました。

4

3 に答える 3

9

ビューをオーバーライドする

public boolean dispatchKeyEvent(KeyEvent event) 

バックが押されたときに何かをする。

于 2013-03-28T04:01:00.210 に答える
0

ビューのdispatchKeyEventをオーバーライドする

    @Override
    public boolean dispatchKeyEvent(KeyEvent event)
{
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK)
{
    // handle back press
    // if (event.getAction() == KeyEvent.ACTION_DOWN)
    return true;
}
return super.dispatchKeyEvent(event);
}
于 2016-03-28T06:11:52.720 に答える