使用希伯来语时 Android textview stackoverflow

2024-01-12


我的应用程序正在从 RESTful http 源检索数据。
有时,会有希伯来语文本。
title 标题 המדйה, עמוד הבйת
内容为 - 6 月 12 日!歌词: הצג את הדף

一切都很好,直到必须在文本视图中使用它为止。 我正在使用自己的列表适配器,当此文本尝试加载时会发生以下情况:

I/dalvikvm( 2524): Stack overflow, expanding (0x41048200 to 0x41048000)
I/dalvikvm( 2524): Shrank stack (to 0x41048200, curFrame is 0x41049cd8)
D/AndroidRuntime( 2524): Shutting down VM
W/dalvikvm( 2524): threadid=3: thread exiting with uncaught exception (group=0x4000fe70)
E/AndroidRuntime( 2524): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime( 2524): java.lang.StackOverflowError
E/AndroidRuntime( 2524):        at android.text.Styled.drawText(Styled.java:290)

因此,我尝试在代码中使用 try/catch,但没有任何帮助。 catch 没有捕获此异常。

My code:

try{    
   holder.content.setText(currPage.GetContent())      
   holder.title.setText(currPage.GetTitle());      
} catch (StackOverflowError e){      
   e.printStackTrace();  
}

这是行不通的,因为那不是异常实际发生的地方。这是文本被绘制到屏幕上的时候。我不知道如何阻止这种情况发生。 如果这是最简单的解决方案,我真的宁愿只有一个空白字段,但我不知道如何检测希伯来语文本是不错的方法。 任何帮助和建议将不胜感激。

谢谢 干杯, 特里.

日志输出:

I/dalvikvm( 2411): Stack overflow, expanding (0x41048200 to 0x41048000)
I/dalvikvm( 2411): Shrank stack (to 0x41048200, curFrame is 0x41049cd8)
D/AndroidRuntime( 2411): Shutting down VM
W/dalvikvm( 2411): threadid=3: thread exiting with uncaught exception (group=0x4000fe70)
E/AndroidRuntime( 2411): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime( 2411): java.lang.StackOverflowError
E/AndroidRuntime( 2411):        at android.text.Styled.drawText(Styled.java:290)
E/AndroidRuntime( 2411):        at android.text.Layout.drawText(Layout.java:1366)
E/AndroidRuntime( 2411):        at android.text.Layout.draw(Layout.java:339)
E/AndroidRuntime( 2411):        at android.widget.TextView.onDraw(TextView.java:3921)
E/AndroidRuntime( 2411):        at android.view.View.draw(View.java:5838)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1486)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.view.View.draw(View.java:5841)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1486)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.view.View.draw(View.java:5841)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1486)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.widget.AbsListView.dispatchDraw(AbsListView.java:1319)
E/AndroidRuntime( 2411):        at android.widget.ListView.dispatchDraw(ListView.java:2820)
E/AndroidRuntime( 2411):        at android.view.View.draw(View.java:5944)
E/AndroidRuntime( 2411):        at android.widget.AbsListView.draw(AbsListView.java:2121)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1486)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.view.View.draw(View.java:5841)
E/AndroidRuntime( 2411):        at android.widget.FrameLayout.draw(FrameLayout.java:352)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1486)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.view.View.draw(View.java:5841)
E/AndroidRuntime( 2411):        at android.widget.FrameLayout.draw(FrameLayout.java:352)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1486)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.drawChild(ViewGroup.java:1484)
E/AndroidRuntime( 2411):        at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1228)
E/AndroidRuntime( 2411):        at android.view.View.draw(View.java:5841)
E/AndroidRuntime( 2411):        at android.widget.FrameLayout.draw(FrameLayout.java:352)
E/AndroidRuntime( 2411):        at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1847)
E/AndroidRuntime( 2411):        at android.view.ViewRoot.draw(ViewRoot.java:1217)
E/AndroidRuntime( 2411):        at android.view.ViewRoot.performTraversals(ViewRoot.java:1030)
E/AndroidRuntime( 2411):        at android.view.ViewRoot.handleMessage(ViewRoot.java:1482)
E/AndroidRuntime( 2411):        at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 2411):        at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 2411):        at android.app.ActivityThread.main(ActivityThread.java:3948)
E/AndroidRuntime( 2411):        at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 2411):        at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 2411):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
E/AndroidRuntime( 2411):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
E/AndroidRuntime( 2411):        at dalvik.system.NativeStart.main(Native Method)

注意:原始帖子和标题是阿拉伯语。说希伯来语是正确的。也许这很重要。


我曾多次将阿拉伯文本写入 TextView,但没有看到堆栈溢出异常,这也是一种从右到左 (RTL) 语言。你修改了吗onDraw()方法或任何其他可能导致此错误的方法?

如果找不到原因,应该会返回true如果给定inputText包含希伯来语字符:

Pattern.matches("(\\p{InHebrew})+", inputText);

如果其他语言也导致问题,您可能还希望禁止任何非拉丁字符。此站点包含您可以匹配的所有 unicode 脚本的列表:
正则表达式教程 - Unicode 字符 http://www.regular-expressions.info/unicode.html

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

使用希伯来语时 Android textview stackoverflow 的相关文章

随机推荐

  • 在 PHP 的 foreach 循环中对项目进行分组

    所以 我正在尝试做一种用户市场类型的东西 有一个数据库item names 基本描述了虚拟物品 然后还有一张表market 当用户列出他们的一件商品时 该商品就会在用户 用户市场上出售 我这里唯一的问题是我想按项目名称对其进行分组 在ite
  • Swift 2 无法删除可选绑定

    我是 Swift 新手 对可选 没有更多的想法 我尝试从 plist 中获取数据 创建模型并显示UITableView 表格数据显示完美 但显示为Optional 捆绑 我尝试过改变 到 但无法解开 您能指导我解决这个问题吗 这是我的代码和
  • 数组字段的elasticsearch范围过滤器

    我有一个包含整数数组的字段 例如 source prices 20001 30001 我想过滤结果 使价格至少包含以下值之间的列表之一 20002 30000 不会返回上述文档 因为没有值介于 20002 和 30000 之间 但 1000
  • 使用 Django 模型选择 COUNT 个?

    有谁知道是否有办法只选择与 Django 中的查询匹配的行数 我编写了一个搜索 将结果分为 40 组 但我还想显示结果总数 我可以像 len Model objects filter name icontains search 这样的东西
  • 骨干网将模型传递给路由器

    我正在使用 require js 和 Backbone 开发一个 android 应用程序 我必须通过 touchend 事件将从集合中获取的模型传递给路由器 我该怎么做 define jquery underscore backbone
  • Rails 3.1 Edge 是否破坏了 XmlMarkup::Builder?

    网上有很多例子 例如http techoctave com c7 posts 32 create an rss feed in rails http techoctave com c7 posts 32 create an rss feed
  • 在 Jinja2 中使用“if any():”?

    在 Jinja2 中 我正在寻找一种方法来检查变量列表中至少一个是否具有值 基本上在 python 中我会这样做 if any item genre item type item color 但是 在 Jinja 中以下内容无效 if an
  • 1 个输入分隔中的 3 个值(数字)。蟒蛇3

    我现在正在编写一个代码 其中一部分需要要求用户在一行中输入 3 个不同的数字 每个数字可以是任意位数 假设我要求用户输入 他输入 31 722 9191 数字之间需要有空格 您将如何分离这些数字并为每个数字分配一个变量 例如 31 是 A
  • 如何从给定的数据中找到距当前位置最近的地点。

    我有位置地址列表 从我当前的位置 我需要到达最近的地点并且必须在地图上显示它 我怎样才能到达距离我当前位置最近的地方 首先 我将获取当前位置的纬度和长度 然后我将如何到达最近的地方 Thanks 首先获取您当前的location纬度 Lon
  • gzip 编码与 JSON 兼容吗?

    我正在尝试缩小 AJAX 调用中发生的一些奇怪现象的范围 我的 PHP 脚本的开头是这样的 ob start ob gzhandler 与 HTML 配合得很好 但是使用 application json 数据执行此操作有任何问题吗 有人知
  • Linq2Sql Many:很多问题,你会怎么做?

    我知道很多 Linq2Sql 不支持很多 但我正在研究解决方法 我正在使用我的小 SO 克隆 我有一个包含问题的表和一个包含标签的表和一个链接表 QuestionTag 所以我在问题和标签之间有一个经典的多 多关系 为了在首页上显示问题列表
  • 使用 Elasticsearch 进行简单的 AND 查询

    我正在尝试对两个指定字段进行简单查询 而手册和谷歌被证明没有什么帮助 下面的例子应该很清楚我想要做什么 query and term name family name daniel name given name tyrone 作为一个额外
  • 根据属性中的值设置元素的样式

    我实际上首先问过这个问题 但这是我的错 因为我无法正确描述那里的事情 所以我无法得到答案 但现在我将描述这里的一切 实际上 我想要一个 javascript 函数 它可以找到具有完整文档中任何元素的特定前缀的类 让我们以 html 标记为例
  • Flex/Bison 错误:请求非结构或联合中的成员“str”

    我正在学习 flex bison 我编写了以下程序但出现错误 include
  • MATLAB - 创建变量的引用(句柄?)

    假设我有以下课程 classdef myClass lt handle properties A 1 end methods function obj myClass val obj A val end end end 假设我实例化这个类的
  • 如何对表单元素进行分组

    我得到了这个表格
  • 如何将 aar 库上传到 Nexus?

    我有一个 Android aar 库 正在与 Android 应用程序一起使用 它可以与直接包含在 Android 项目中的 aar 库一起正常工作 我想将此库移至我的内部 Nexus maven 存储库 以便其他开发人员也可以使用该库 如
  • WindowManager$BadTokenException

    我正在尝试将进度对话框放在 Click 事件上ListView如下面的代码中所述 但我收到错误 WindowManager BadTokenException Unable to add window token android app L
  • Android,如何让应用程序的任务不可关闭?只能通过任务终止来关闭

    我正在开发一个应用程序 该应用程序必须始终运行并且只能通过任务杀手或类似工具关闭 我在清单中有 android persistent true 虽然按主页按钮时没有关闭 但我发现它时不时会关闭 我不希望这种情况发生 我的用户想要 可以通过从
  • 使用希伯来语时 Android textview stackoverflow

    我的应用程序正在从 RESTful http 源检索数据 有时 会有希伯来语文本 title 标题 内容为 6 月 12 日 歌词 一切都很好 直到必须在文本视图中使用它为止 我正在使用自己的列表适配器 当此文本尝试加载时会发生以下情况 I