2

私の活動には がありますActionBar,ListView,ContextMenu,Menu

私は自分のアクティビティとのユーザー インタラクションをキャプチャしたいと考えていました (つまり、ユーザーがアクティビティに触れたときにトーストを表示したかったのです)。これを使用します。

@Override
    public void onUserInteraction() 
    {

            Toast.makeText(this, "Hello",Toast.LENGTH_LONG).show();
    }

この方法は画面内で機能しますが、この方法の問題は機能しません

Menus,ContextMenu(ListView).

作業シナリオ:- 1-これは、アクティビティ(ActionBar、ListView)のあらゆる場所で画面に触れると初めて機能します。

2-Menusこのメソッドが呼び出されたときに初めてクリックした後、Menuアクティビティに関連している場合(次のアクティビティに進みたい場合)、正常に動作していますがMenu REFRESH、同じアクティビティにある場合、このメソッドが呼び出されない理由がわかりませんをクリックしREFRESHます。

3-同じ問題ContextMenu(を長押しした後に発生ListView

私も試しGestureDetecterました。

Androidには、メニュー、コンテキストメニュー、リスト、画面、またはあらゆる場所で毎回ユーザーのタッチを検出できる特定のメソッドまたは何かがあります。

たくさんの感謝

4

1 に答える 1

2

アクティビティでdispatchTouchEvent()をオーバーライドして、必要な結果を得ることができると思います

このようなもの:

@Override
public boolean dispatchTouchEvent(MotionEvent me){
  //do something
  return super.dispatchTouchEvent(me);
}

詳細については、アクティビティ ドキュメントを参照してください

また、ユーザーが画面上の何かに触れるたびにトーストを表示すると、ユーザーが非常に迷惑になる可能性があることに注意してください。

于 2013-01-04T04:03:53.083 に答える