ClickableSpan TextView 在单击后保持选中状态

2024-02-27

我正在使用以下代码来制作我的TextView显示像一个链接,当用户单击它时,我会显示一个AlertDialog。但在用户离开对话框后,文本仍保持选中状态,而且看起来很丑。

    TextView terms = (TextView)findViewById(R.id.TextViewTerms);
    terms.setMovementMethod(LinkMovementMethod.getInstance());
    Spannable spanTerms = (Spannable)terms.getText();
    ClickableSpan clickSpan = new ClickableSpan()
    {
        @Override
        public void onClick(final View view)
        {
            new AlertDialog.Builder(AboutActivity.this)
                .setTitle(R.string.title_terms)
                .setMessage(R.string.terms_of_use)
                .setCancelable(true)
                .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener()
                {
                    @Override
                    public void onClick(DialogInterface dialog, int which)
                    {
                        dialog.dismiss();
                    }
                })
                .show();
        }
    };

    spanTerms.setSpan(clickSpan, 0, spanTerms.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

我也尝试过打电话setSelected(false)但这也行不通。有任何想法吗?


只需添加Selection.setSelection(spanTerms, 0);在你的里面onClick对话框的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ClickableSpan TextView 在单击后保持选中状态 的相关文章

  • java.lang.IllegalArgumentException:此组件要求您指定有效的 android:textAppearance 属性

    我的布局文件之一中有一个 com google android material button MaterialButton 组件 当我使用最新版本的 Material Components 库 com google android mat
  • 设置文本视图 Android 的文本颜色

    在 string xml 文件中我使用以下标签
  • gradle更新后无法找到方法(无法编译项目)

    我尝试将项目中的 gradle 版本更新为 4 1 milestone 1 以下这些说明 https developer android com studio build gradle plugin 3 0 0 migration html
  • Android短音的正确播放方法?

    我正在创建一个应用程序 屏幕上将有多个图像 这些图像将是按钮 点击时会播放短促的声音 我对此进行了研究 只能找到我当前用来播放声音的方法 这似乎根本没有响应 我希望声音能够快速播放并且能够响应多次快速点击 我不确定这在 Android 中是
  • Cheesesquare:enterAlways 会产生错误的布局

    Adding enterAlways到 Cheesesquare 演示的滚动标志
  • Android Q:file.mkdirs() 返回 false

    我们有一个应用程序 使用外部存储来存储一些临时文件 图像 二进制数据 该代码已经运行了几年 直到最近才发生重大变化 在 Android Q 上它不起作用 File f new File Environment getExternalStor
  • 如何使用 Google Maps for Android V2 处理地图移动结束?

    我想在地图中心更改后立即对地址进行地理编码 如何使用新的 Android 版 Google 地图 V2 处理地图移动 我说的是用户用手指拖动地图的情况 查看新的地图 API Override public void onMapReady G
  • Android应用程序组件销毁和重新创建的详细信息

    有人可以向我提供一些具体的 值得信赖的 最好是简洁的 信息 内容如下 系统销毁和 如果适用 重新创建组件的顺序 片段 活动 活动的线程 异步任务 计时器 静态数据 类何时卸载 其他类中的线程 异步任务 定时器 主机 TabActivity
  • Bitmap.getPixels() 中的 IllegalArgumentException

    我想将数据从位图复制到int using getPixels 这是我当前的代码 int pixels new int myBitmap getHeight myBitmap getWidth myBitmap getPixels pixel
  • Dialog.setTitle 不显示标题

    我正在尝试向我的对话框添加自定义标题 但是每当我运行我的应用程序时 它都不会显示标题 我创建对话框的代码是 final Dialog passwordDialog new Dialog this passwordDialog setCont
  • ExoPlayer2 - 如何使 HTTP 301 重定向工作?

    我开始使用 ExoPlayer 来传输一些音频 一切都很顺利 直到我遇到一个带有 301 永久移动 重定向的 URL ExoPlayer2 默认情况下不处理该问题 我已经看过这个线程 https github com google ExoP
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • 图像作为电子邮件附件

    我想构建一个应用程序 我可以在电子邮件中附加图像 打开图像并将其设置为我的壁纸 我想让它跨平台 所以你能告诉我是否可以使用phonegap 或者我是否必须为iphone和android构建一个本机应用程序 您好 如果您只想通过电子邮件附加图
  • 从 BroadcastReceiver 类调用活动方法

    我知道我可以做一个内部接收器类来调用接收器中的任何方法 但我的主要活动太大了 要做的事情也很多 因此 我需要一个扩展广播接收器的类 但它不是内部类 并且可以从我的主要活动中调用一种方法 我不知道是否可能 但我的活动是家庭活动和 single
  • Dagger 2 没有生成我的组件类

    我正在使用 Dagger 2 创建我的依赖注入 几个小时前它还在工作 但现在不再生成组件 这是我创建组件的地方 public class App extends Application CacheComponent mCacheCompon
  • Android 如何将总天数准确更改为年、月、日?

    我正在做一个应用程序 该应用程序与根据给定的生日日期输入获取一个人的年龄有关 为此 我从下面的代码中获取从该日期到当前日期的总天数 String strThatDay 1991 05 10 SimpleDateFormat formatte
  • 通过电子邮件发送文本文件附件

    我正在尝试附加一个文本文件以便通过电子邮件发送 但每当我打开电子邮件应用程序时 它都会说该文件不存在 请帮助 Intent i new Intent Intent ACTION SEND i setType text plain i put
  • 没有支持 FEATURE_CAMERA_EXTERNAL 的 Android 设备

    根据this doc https source android com devices camera external usb cameras一些 Android 设备允许使用 Camera2 API 访问外部 USB 摄像头 我检查了大约
  • 在 Android 应用程序资源中使用 JSON 文件

    假设我的应用程序的原始资源文件夹中有一个包含 JSON 内容的文件 我如何将其读入应用程序 以便我可以解析 JSON See 开放原始资源 http developer android com reference android conte
  • Android:如何从网络异步获取搜索建议?

    我创建了一个可搜索的活动 现在 我想添加从网络服务获取的搜索建议 我想异步获取这些建议 根据添加自定义建议 http developer android com guide topics search adding custom sugge

随机推荐

  • Robots.txt - 多个用户代理的抓取延迟的正确格式是什么?

    下面是一个示例机器人 txt文件允许多个用户代理 with 多次抓取延迟对于每个用户代理 抓取延迟值仅供说明之用 在真实的 robots txt 文件中会有所不同 我在整个网络上搜索了正确的答案 但找不到 有太多混合的建议 我不知道哪个是正
  • 在 Windows 窗体应用程序表单中嵌入文件资源管理器实例

    我的 C NET 3 5 应用程序生成文件 除了引发可以捕获和响应的事件之外 我还想以表单向用户显示目标文件夹 文件列表与其他信息以相同的形式显示 我正在使用一个实例WebBrowser控制 System Windows Forms Web
  • CMake:使用 target_sources() 添加当前目录和子目录中的所有文件

    在我们的 C 项目中 我们有几个 CMakeLists txt 文件 位于不同的目录 列出了所需的每个 cpp 文件target sources 例如 target sources
  • 属性的自定义模型活页夹

    我有以下控制器操作 HttpPost public ViewResult DoSomething MyModel model do something return View Where MyModel看起来像这样 public class
  • Python 中的运算符优先级 -PEMDAS

    我读到关于Python遵循PEMDAS的内容 即乘法的优先级高于除法 我运行了以下脚本 print 6 2 1 2 因此 python 应该将其解释为 12 2 即 6 因为乘法的优先级高于除法 但是 答案是24 谁能告诉我问题出在哪里 谢
  • 在 Excel 中计算电力塔的困难

    我似乎在让 Excel 正确计算电力塔时遇到一些麻烦 如果我输入 0 001 0 002 0 003在单元格中 Excel 将答案输出为0 99995855而不是正确答案0 00113609 据我所知 Excel正在解释a b c as a
  • 为什么R在重命名栅格堆栈层时添加“x”

    我在 R 中有一个包含 84 层的栅格堆栈 砖块 我试图根据从 199911 到 200610 1999 年 11 月到 2006 年 10 月 的年份和月份来命名它们 然而 由于某种原因 R 不断在我给图层指定的任何名称的开头添加 X 有
  • 使用 powershell 验证证书链

    我正在尝试编写一个脚本来验证 PowerShell 中的证书链 链中的所有证书都未过期 并查找最接近过期的证书 我使用以下脚本来查找颁发者证书 获取子项 递归 路径证书 Where Object Subject eq Certificate
  • Vue 2 - 计算输入的行总数

    我有一个带有数量和价格输入的动态表 并且我使用计算属性来计算每行的总计 现在我需要找到一种方法来计算总计 所有小计的总和 HTML tr td td tr
  • Golang 中带有替换的正则表达式

    我使用 regexp 包来替换下面的文本 macro products list products for product in products productsList endfor endmacro 我无法在不替换 products
  • AFNetworking 3.0无法下载图像

    我正在尝试使用 AFNetworking 3 0 这样做下载图像 UIImage loadImage NSString link block UIImage image UIImage imageNamed no user profile
  • PostgreSQL 中使用 Order By 子句进行分区

    我有一张包含这些值的表 user id ts val uid1 19 05 2019 01 49 50 0 uid1 19 05 2019 01 50 15 0 uid1 19 05 2019 01 50 20 0 uid1 19 05 2
  • 在另一个图像上绘制带有透明点的图像 - 在 Chrome >= 104 中失去透明度

    我的应用程序在 Chrome 104 105 中停止工作 任何人都可以确认此问题吗 steps 透明 DataArray Uint8ClampedArray new Uint8ClampedArray w h 插入一些值 为透明点保留 0
  • 将新元素插入现有 xml 时,lxml 不添加换行符

    我有一大堆现有的 xml 文件 我试图向所有文件添加一个元素 它们是许多 Maven 项目的 pom xml 我试图向所有文件添加一个父元素 以下是我的确切代码 问题是 pom2 xml 中的最终 xml 输出具有完整的parent元素在一
  • 编写一个简单的Bootloader HelloWorld - 错误函数打印字符串

    我尝试创建一个简单的引导加载程序来打印 hello world 当我调用一个仅打印 hello world 的函数时 我可以做到这一点 但是当我调用一个函数来打印特定字符串时 什么也没有发生 为此 我使用两个文件 第一个是 boot ld
  • 删除重复的行,只留下最旧的行?

    我有一个数据表 其中有许多来自用户提交的重复条目 我想根据字段删除所有重复行subscriberEmail 只留下原始提交 换句话说 我想搜索所有重复的电子邮件 并删除这些行 只留下原始的 我怎样才能在不交换表的情况下做到这一点 我的表包含
  • GPGPU:普通 PC 陷入困境的后果

    我在一本书中读到 在波前或扭曲中 所有线程共享一个公共程序计数器 那么它的后果是什么呢 为什么这很重要 NVIDIA GPU 一次执行 32 个线程 扭曲 AMD GPU 一次执行 64 个线程 波前 控制逻辑 读取和数据路径的共享减少了面
  • AzurePS 系统功能在新安装的 vsts-agent 上不可用

    我已在新的 Azure VM Windows Server 2012 R2 64 位 上成功安装新的 VSTS 代理 当我尝试在新的 vsts 代理上执行任何包含 azure powershell 任务的管道时 我收到一条错误消息 错误消息
  • Grails:Tomcat 不会在产品中完全关闭

    我在关闭生产环境中的 Grails 应用程序时遇到问题 从 IntelliJ 运行时 它会干净地关闭 但在独立的 Tomcat 7 上 关闭会使其进入僵尸状态 其中 java 进程仍然存在 但 HTTP 请求挂起 我必须杀死java进程 使
  • ClickableSpan TextView 在单击后保持选中状态

    我正在使用以下代码来制作我的TextView显示像一个链接 当用户单击它时 我会显示一个AlertDialog 但在用户离开对话框后 文本仍保持选中状态 而且看起来很丑 TextView terms TextView findViewByI