【问题标题】:How to detect swipe gesture across multiple views in android?如何在android中检测跨多个视图的滑动手势?
【发布时间】:2019-10-18 23:45:22
【问题描述】:

我有一个 Grid Layout,其中有多个 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) {
}

我现在该怎么办?

【问题讨论】:

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


    【解决方案1】:

    尝试网格视图 ItemClickListener。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-15
      • 1970-01-01
      • 1970-01-01
      • 2011-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多