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

我认为您可以在 Activity 中覆盖 dispatchTouchEvent() 以获得所需的结果

像这样的东西:

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

有关更多信息,请参阅活动文档

另外,我认为值得注意的是,如果您的用户在他们触摸屏幕上的任何内容时显示吐司,他们可能会觉得很烦人。

于 2013-01-04T04:03:53.083 回答