处理本地化字符串包含单个 TextView 中的链接

2024-03-14

我的 strings.xml 文件中有一个字符串。单击该字符串的某些部分会重定向到任务。该部分是根据字符串的索引制作的。

现在我正在尝试将其翻译为法语,但我遇到了索引越界异常,因为它的长度小于英语字符串的长度。

谁能说一下,处理这种情况的最佳方法是什么?

字符串分离是我们可以做的一件事。

但我想在一个文本视图本身中处理它。

英文字符串的代码:

    SpannableString spannableString = new SpannableString(getResources().getString(R.string.desc));
    ClickableSpan clickableSpan = new ClickableSpan() {
        @Override
        public void onClick(View textView) {
            Log.v("dosomething", "dosomething");
        }

        @Override
        public void updateDrawState(TextPaint ds) {
            Log.v("task one", "task one");
        }
    };

    spannableString.setSpan(clickableSpan, 87, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

    mDesc.setText(spannableString);
    mDesc.setMovementMethod(LinkMovementMethod.getInstance());

然后,您必须检测设备正在使用的语言,无论它使用法语字符串还是英语字符串,然后将其放入定义给定字符串文件长度的每个条件中。 例如

 if (Locale.getDefault().getLanguage().equals("en")) {
     spannableString.setSpan(clickableSpan, 87, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
 }
 else if (Locale.getDefault().getLanguage().equals("fr")) {
     spannableString.setSpan(clickableSpan, 50, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
 }

只需根据字符串文件中的字符串更改开始和结束长度。

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

处理本地化字符串包含单个 TextView 中的链接 的相关文章

  • 将 EditText 聚焦在设备上运行的 PopupWindow 中时出现异常

    我正在为 Android 开发一个弹出窗口 它正在工作 我在上面添加了一个 EditText 和一个按钮 当在 ADV 上运行时 它可以正常工作 而在设备上运行时 当我专注于 EditText 时 这会抛出一个奇怪的异常 android v
  • 在 Facebook 上分享文本和 URL

    我想分享一条消息 例如 查看图片http someUrl com http someUrl com从应用程序共享ABCapp 用户必须能够选择任何已安装的应用程序进行共享 我正在使用以下代码 Intent intent new Intent
  • NDK 应用 onDestroy 清理 - 如何 DetachCurrentThread

    因此 如果我们连接 我们必须在完成后分离线程 对吗 JNIEnv get jni env JNIEnv res JAVA VM gt GetEnv void res JNI VERSION 1 6 Using cached JavaVM J
  • 在java中是否可以使用反射创建没有无参数构造函数的“空白”类实例?

    我有一个没有默认构造函数的类 我需要一种方法来获取此类的 空白 实例 空白 意味着实例化后所有类字段都应具有默认值 如 null 0 等 我问这个问题是因为我需要能够序列化 反序列化大对象树 而且我无法访问该对象类的源 并且类既没有默认构造
  • 没有 ContentProvider 的 SyncAdapter

    我想为我想要与服务器同步的内容实现 SyncAdapter 看来要做到这一点 您需要为 SyncAdapter XML 属性文件中指定的权限注册一个 ContentProvider 由于我不希望手机的其余部分可以访问此内容 因此我没有实现自
  • Java中的OR运算(BitSet.class)

    如何编写一个程序 该程序需要001010101110000100100 011100010001000011000 000000000010000000000100 作为输入 位 输出将是OR其中 3 个 OR 0 0 0 0 1 1 1
  • Akka 和 spring 配置

    我正在尝试将 akka 与 spring 结合起来 但没有成功 基本上 我的应用程序似乎不习惯读取 akka 模式 具有架构的 service context xml 的一部分
  • 多对多不检索映射数据

    Spring boot 2 5 6 我无法安装版本 概要文件 java Getter Setter NoArgsConstructor AllArgsConstructor EqualsAndHashCode FieldDefaults l
  • java Runtime.getRunTime().exec 和通配符?

    我正在尝试使用删除垃圾文件 Process p Runtime getRuntime exec 只要我不使用通配符 它 就可以正常工作 即 Process p Runtime getRuntime exec bin rm f specifi
  • Xamarin.Forms 用相机拍照显示方向错误并且后退按钮崩溃

    我正在使用此处的 Xamarin Forms Camera 示例 https github com XForms Xamarin Forms Labs Samples tree master XF Labs CameraSample htt
  • Java .split("|") 不工作

    我刚刚遇到了一个问题分割法 http docs oracle com javase 6 docs api java lang String html split 28java lang String 29for 字符串不适用于字符 作为一个
  • Storm Spout 未收到 Ack

    我已经开始使用storm 所以我使用创建简单的拓扑本教程 https github com nathanmarz storm wiki Tutorial 当我运行我的拓扑时LocalCluster一切看起来都很好 我的问题是我没有得到元组的
  • 使用链接列表插入优先级队列的方法

    首先 我觉得我应该提到这是一项作业 我并不是在寻找直接的代码答案 只是为了指出正确的方向 我们被要求在链表中实现优先级队列 我正在努力编写 insert 函数的第一部分 在代码中我尝试检查是否head包含任何内容 如果没有则设置为head
  • proguard 导致 Google Play 服务的 ActivityRecognitionResult getMostProbableActivity 崩溃

    我最近向 Play 商店发布了一个应用程序 虽然它在没有 proguard 的情况下运行得很好 但当我决定使用它时 我遇到了意外的崩溃 我看过here http developer android com google play servi
  • 如何使用 Nimbus LookAndFeel 更改 JToolTip 的背景颜色?

    在使用 Nimbus LookAndFeel 的基于 Swing 的 Java 应用程序中 我尝试设置工具提示的背景颜色 因此 我创建了 JToolTip 的子类 并通过重写 createToolTip 在我的组件中使用它 到目前为止一切正
  • spring data jpa 过滤 @OneToMany 中的子项

    我有一个员工测试实体是父实体并且FunGroup信息子实体 这两个实体都是通过employeeId映射 我需要一种方法来过滤掉与搜索条件匹配的子实体 以便结果仅包含父实体和子实体 满足要求 员工测试类 Entity name Employe
  • JSP 和 scriptlet

    我知道现在使用 scriptlet 被认为是禁忌 没关系 我会同意Top Star的话 因为我目前只是Java新手 到目前为止我听到的是 它是为了让设计师的生活更轻松 但我想知道 这是否与JSP页面的性能有关 另一方面 如果只是为了 让设计
  • 在 Android Studio 中打开上次关闭的选项卡

    我是 Android Studio 的新手 想知道是否有任何快捷方式 选项可以重新打开上次关闭的选项卡 没有分配快捷方式 但您可以轻松分配新的快捷方式 Go to IDE settings Keymap Main menu Window E
  • react-native-firebase 无法处理通知 click_action 导航到通知屏幕

    我正在使用这个react native firebase和react navigation进行导航 我可以成功地从服务器或控制台推送通知 无论它是在前台还是后台 但我发誓文档不太清楚如何打开通知并导航到通知它所属的屏幕 这些是我的 onMe
  • 线程“main”中出现异常 java.lang.UnsatisfiedLinkError: ... \jzmq.dll: 找不到依赖库

    我有一个使用 ZMQ 的 java 应用程序 我已经能够在我的 Win7 PC 上运行它 我将 jzmq dll 放在 jar 可执行文件所在的同一文件夹中 然后通过命令 java jar myapp jar 运行它 我的下一步是将其移至服

随机推荐

  • Java 中的特殊字符 \0 {NULL}

    如何替换字符串中的 0 NUL String b 2012yyyy06mm sth what i want String c 2 0 0 0012yyyy06mm String d c replaceAll 0 not work Strin
  • 如何调试 Ionic WebApp?

    我想在 WebStorm 中调试我的离子应用程序 我可以在浏览器中运行该应用程序 但我该如何调试呢 我试过 ionic serve debug这似乎不会触发任何调试 当应用程序在浏览器中运行时 如何调试它 使用 Chrome 您可以输入铬
  • 无法在java servlet中获取会话

    我是第一次使用 servlet 但我取得了很大的进步 我的 servlet 运行良好 因此 我决定采用一种身份验证机制 如果用户提供正确的密码和 ID 则会创建一个会话 但会议对我来说是全新的 所以我不太明白这个逻辑 但我已经开始理解了 正
  • Android:如何将图像资源与R.drawable.imagename进行比较?

    我正在开发一个示例应用程序 其中我需要在 onClick 侦听器中获取图像视图的资源 并将其与我知道存在的图像源进行比较 如果资源相同 我想启动另一个意图 我现在面临的问题是访问 ImageView 及其资源 Id 整数 以与可绘制资源进行
  • 检测 jQuery UI 的可拖动功能悬停在什么上方

    我试图让拖动的元素检测它悬停在stopjQuery 的 UI 可拖动功能的事件 这是我的尝试 但没有成功 artwork draggable stop function e ui ui mouseover function f if f t
  • Swift 2:“Bool”无法转换为“BooleanLiteralConvertible”

    我创建了一个应用程序XCode 6 今天我下载了XCode 7它已将我的应用程序更新为Swift 2 错误有很多 但现在只有一个我无法解决 我不知道为什么 但是Xcode不喜欢任何Bool选项animated并显示此错误 Bool 不能转换
  • FindByIdentity 在 ASP.NET Web 应用程序中失败并出现 PrcipalOperationException

    我在内部 Web 应用程序中使用 System DirectoryServices AccountManagement 时遇到问题 该错误不是很具有描述性 但发生的情况如下 当我尝试验证 AD 中是否存在提供的用户 ID 时 我使用以下代码
  • JAXB 异常:此上下文未知类

    当我调用一个特定的静态服务方法时 该方法是使用CXF 我收到以下错误 有人知道为什么以及如何解决它吗 发生 JAXBException 类 com octory ws dto 配置文件Dto也没有任何 其超类的已知 语境 服务方法及相关DT
  • JPA CriteriaBuilder 将合取条件转换为析取条件

    我需要将此查询复制到JPA 标准生成器 code where article client id 1 and article price gt 0 and article code like this is statement or art
  • Windows批处理:睡眠[重复]

    这个问题在这里已经有答案了 如何让 Windows 批处理脚本等待几秒钟 sleep and wait似乎不起作用 无法识别的命令 你可以试试 ping n XXX 127 0 0 1 gt nul 其中 XXX 是等待的秒数加一
  • JPA CriteriaQuery 计算用于 where 谓词的日期时间差

    我正在尝试从数据库中选择两个字段之间的时间差小于或大于某个值的实体 在标准 SQL 中 这可以使用 TIMESTAMPDIFF 函数简单地完成 SELECT from run where TIMESTAMPDIFF SECOND run e
  • numpy 将 RGB 图像转换为 YIQ 颜色空间

    对于一个类 我需要将 RGB 图像转换为 YIQ 我们被告知可以通过以下方式进行转换 我开始编写一个带有循环的凌乱代码来进行矩阵乘法 然后我发现了一个函数 skimage color yiq2rgb imYIQ 当我往里面看他们在做什么时
  • JavaFX 8 日期选择器功能

    我刚刚开始使用新的 JavaFX 8 控件DatePicker In DatePicker 用户体验文档 https wiki openjdk java net display OpenJFX DatePicker User Experie
  • 动态增加列表视图中的元素数量

    我想增加列表视图滚动到末尾时动态显示的项目数量 就我而言 我的列表视图最初将显示 10 个项目 然后 当我们滚动到最后一个项目时 它必须开始显示另外 10 个项目 依此类推 我怎样才能做到这一点 这是我的自定义阵列适配器 package c
  • 无法理解“选项卡”。

    我正在读 C 编程语言 我无法理解第 34 页的练习 1 20 编写一个程序 detab 用适当数量的空格替换输入中的制表符 以分隔到下一个制表位 假设有一组固定的制表位 例如每 n 列 n 应该是变量还是符号参数 第二句话我不明白 让我们
  • Apple Watch 应用程序的 Xcode 7 安装从未完成

    我想尝试一下新的 Apple Watch OS2 打开我现有的项目 添加了目标 更改了捆绑包标识符以删除错误消息 手表应用程序永远不会启动 大约 5 分钟后 我在 Xcode 中收到此错误消息 我还没有添加任何 Swift 代码 我所做的就
  • ZipPackage 类与 Zipfile 类

    我对这两个类感到困惑 它们似乎都用于创建或提取 zip 文件 谁能解释其中的区别吗 ZipPackage Class 实现抽象 Package 基类的派生子类 ZipPackage 类使用 ZIP 存档作为容器存储 这个类不能被继承 Zip
  • DatagridView 如何让每列有不同的行数?

    所以我试图以特定格式显示我的数据datagridview 所以我的格式是这样的 A B C 1 1 1 2 2 x 3 x x x 表示没有单元格 正如您所看到的 每列都有不同的行数 我想在 DatagridView 或 Dot Net F
  • 如何修复错误 - 创建新 Google 表格时参数无效:file.contentType

    我正在尝试在已创建的文件夹中创建新的 Google 表格 但内容类型存在问题 我已经搜索过这个错误 但没有找到任何东西 大多数搜索都会出现MimeType错误 但我不认为这是问题所在 下面是我正在使用的代码 var ss Spreadshe
  • 处理本地化字符串包含单个 TextView 中的链接

    我的 strings xml 文件中有一个字符串 单击该字符串的某些部分会重定向到任务 该部分是根据字符串的索引制作的 现在我正在尝试将其翻译为法语 但我遇到了索引越界异常 因为它的长度小于英语字符串的长度 谁能说一下 处理这种情况的最佳方