是否可以在同一个 Textview 上使用拖动事件和单击事件?

2023-12-27

在我的应用程序中,我需要在同一 textView 上使用单击和拖动事件。

我编写了以下代码:

... }
    switch(event.getAction()) {
        case MotionEvent.ACTION_UP:
//            TextDialog.setVisibility(View.VISIBLE);
            break;
        case MotionEvent.ACTION_DOWN: {
            disallowTouch(parent, true);
            int downX = (int)event.getX();
            int downY = (int)event.getY();
            return false; // allow other events like Click to be processed
        }
        case MotionEvent.ACTION_MOVE:
            int x = (int)event.getRawX();
            int y= (int)event.getRawY();

            layoutParams.leftMargin = x - 50;
            layoutParams.topMargin = y - 70;
                                       
            tvText.setLayoutParams(layoutParams);
            break;
        default:
            break;
    }
    return true;
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    TextDialog.setVisibility(View.VISIBLE);
}

但只有ACTION_MOVE工作中。这onClick事件没有被解雇。

我只想在单击 TextView 时显示一个对话框。

我怎样才能实现这个目标?


同时使用 setOnTouchListener 和 setOnClickListener

在 onTouch 中:

public boolean onTouch(View v, MotionEvent event) {
    ViewParent parent = v.getParent();
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN: {
        disallowTouch(parent, true);
        downX = event.getX();
        downY = event.getY();
        return false; // allow other events like Click to be processed
    }
}

private void disallowTouch(ViewParent parent, boolean isDisallow) {
    if (parent != null) {
        parent.requestDisallowInterceptTouchEvent(isDisallow);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以在同一个 Textview 上使用拖动事件和单击事件? 的相关文章

随机推荐

  • Android:关闭/丢失蓝牙连接或文件接收 -> 执行某些操作

    我想编写一个应用程序 通过以下方式监视我配对的蓝牙连接 如果文件来自配对源 则应存储该文件 如果没有文件被传递并且蓝牙连接中断 我的应用程序将存储一个虚拟文件 存储文件效果很好 我的主要问题是如何在显示器上没有活动的情况下运行整个过程 我读
  • 使用 OpenStreetMap 获取给定 GPS 坐标集的国家/地区名称

    有谁知道是否有办法使用 OpenStreetMap 离线或 API 来获取给定的 GPS 坐标集的国家 地区名称 我对使用此处提到的 Google 或 Geonames API 不感兴趣 GPS 坐标的国家 地区名称 https stack
  • 更新会员属性。不支持的方法

    我已经尝试研究我收到的异常几个小时了 但没有任何进展 我只是尝试使用以下代码更新会员资料 MembershipUser user Membership GetUser username user IsApproved false Membe
  • iOS:Google 地图 API -markerInfoWindow 与markerInfoContents

    我浏览了谷歌地图文档 https developers google com maps documentation ios sdk reference protocol g m s map view delegate p html ada4
  • 使用较小的物理内存对 10 亿个整数进行排序

    想要对 10 亿个整数进行排序 而我的系统只有 1 GB RAM 最快 最有效的排序方法是什么 假设我们在文本文件中输入每行一个整数 我们使用java程序来排序 我指定了 RAM 因为我们无法将所有输入整数保存在 RAM 中 Update
  • 创建一个序列,其值是字符和数字的混合

    我正在使用 Postgres 9 1 并且想创建一个可以用作主键的序列 它应该如下所示 entity id seq X0001 X0002 X0123 and nextval entity id seq 会回来 X0124 知道如何以及是否
  • inline 决定内部链接吗?

    我正在尝试外部内联函数 我认为它应该如何工作 a cpp inline void f int b cpp extern void f int int main f 4 但出现链接错误 然后通过阅读this https en cpprefer
  • cocos2d 3.x CCButton 设置精灵帧图像扭曲且回调/块不起作用

    我需要设置按钮的精灵框架 当我使用构造函数时它正在工作 CCSprite sprite CCSprite spriteWithImageNamed but png CCButton button CCButton buttonWithTit
  • ClickHouse Kafka 性能

    按照文档中的示例 https clickhouse yandex docs en table engines kafka https clickhouse yandex docs en table engines kafka 我使用 Kaf
  • pip install 与 conda install [重复]

    这个问题在这里已经有答案了 由于我使用的是 Spider 所以我应该使用 conda install 但是有些软件包无法在 conda install 中安装 而在 pip install 中可以轻松安装 例如 我在 pip install
  • 在 R 中粘贴矩阵

    我有一个关于粘贴矩阵的问题 我有一组 10 个矩阵 它们具有相同的行名称但不同的列名称 例如 矩阵1 A B C D a 1 0 0 0 b 0 1 0 0 c 0 1 0 0 d 0 0 1 0 e 0 0 0 1 矩阵2 A B D E
  • 可以听 twain(也许是 WIA)扫描仪吗?

    我正在评估 VintaSoft net 控件和 Atalasoft DotTwain 图像捕获 我对大部分定义和关键词感到非常困惑 所以我问这个是因为我觉得我在拉拉之地 是否可以听或让扫描仪告诉我的应用程序有扫描图像并且我可以处理它 这个想
  • Android 游戏框架 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我是一名 Flash 开发人员 希望进入 Android iPhone 游戏开发领域 Android 对我来说更重要 因为我没有任何 iO
  • Android AdMob 问题

    我正在尝试放入广告 但一旦广告加载 程序中的其他所有内容都会消失 只留下广告
  • 当我使用谷歌地图时生成签名的 apk 时出错?

    您好 我在生成签名的 apk 时遇到此错误 Error Execution failed for task app lintVitalRelease gt Lint found fatal errors while assembling a
  • 使用 Flask-socketio 和 socketIO 客户端

    我目前正在尝试了解套接字是如何工作的 我正在使用 Flask socketio 和 python socketio 客户端并运行一个基本示例 这是我到目前为止所做的 app py from flask import Flask render
  • 如何让 TypeScript 识别 firebase 导入

    我试图通过访问 firestore 客户端在小型 TypeScript Web 应用程序中显示 firestore 的内容 但是 tsc 无法编译 因为它找不到 firebase 模块 在我的index html的头部 我从gstatic导
  • 如何基于多态干净地处理不同的行为

    假设我有一个界面IFoo与实现类VideoFoo AudioFoo and TextFoo 进一步假设我无法修改任何代码 假设我想编写一个函数 该函数根据运行时类型进行不同的操作IFoo 例如 Public Class Bar Public
  • 如何检查一个元素是否属于一种子类型或另一种子类型?

    刚刚了解了 Ada 中的枚举和类型 决定写一个小程序来练习 with Ada Text IO use Ada Text IO with Ada Integer Text IO use Ada Integer Text IO procedur
  • 是否可以在同一个 Textview 上使用拖动事件和单击事件?

    在我的应用程序中 我需要在同一 textView 上使用单击和拖动事件 我编写了以下代码 switch event getAction case MotionEvent ACTION UP TextDialog setVisibility