如何在Android中跨多个视图检测滑动手势?

时间:2019-06-03 12:06:33

标签: java android touch-event event-listener android-gridlayout

我有一个网格布局,其中有多个 TextViews 作为子级。我已经为每个TextView添加了一个事件侦听器。我想检测用户何时在布局中的多个TextView上滑动

我想确定在滑动时触摸过的所有TextView。

我只收到第一个被触摸的TextView的触摸事件,当用户在GridLayout中的多个TextView上滑动手指时,我没有收到其他TextView的触摸事件。

我尝试使用

 TextView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
        }
    });

TextView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent event) {

        }
    });

 TextView.setOnHoverListener(new View.OnHoverListener() {
        @Override
        public boolean onHover(View v, MotionEvent event) {
            return false;
        }
    });

我也尝试过覆盖

@Override
public boolean onTouchEvent(MotionEvent event) {
}

我现在应该做什么?

1 个答案:

答案 0 :(得分:0)

尝试对ItemClickListener进行网格查看。

grid.setOnItemClickListener(new AdapterView.OnItemClickListener(){             @Override             public void onItemClick(AdapterView parent,View view,int position,long id){                 //获取GridView选中/单击的项目文本                 字符串selectedItem = parent.getItemAtPosition(position).toString();                 //在TextView上显示选定/单击的项目文本和位置                 tv.setText(“已单击GridView的项目:” + selectedItem                         +“ \ n位于索引位置:” +位置);             }         });