Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 希伯来文和普通文本未显示右侧_Android_Sqlite_Android Studio_Right To Left_Hebrew - Fatal编程技术网

Android 希伯来文和普通文本未显示右侧

Android 希伯来文和普通文本未显示右侧,android,sqlite,android-studio,right-to-left,hebrew,Android,Sqlite,Android Studio,Right To Left,Hebrew,我试图混合显示希伯来语和普通文本,文本来自SQLite数据库,并显示在从我的数据库中的Assets文件夹中提取的listview中 我想显示以下内容: אנאאאא-Ek is,was,sal wees Wie Ek is,was,sal wees。” 但它会显示为: “.Ek是,是,sal wees Wie Ek是,是,sal wees-אאאאא” 当希伯来文文本介于其他普通文本之间时,其精细程度如下: “他说——我是,过去是,将来会是,过去是,将来会是。” 仅当listview项以希伯来语

我试图混合显示希伯来语和普通文本,文本来自SQLite数据库,并显示在从我的数据库中的Assets文件夹中提取的listview中

我想显示以下内容:

אנאאאא-Ek is,was,sal wees Wie Ek is,was,sal wees。”

但它会显示为:

“.Ek是,是,sal wees Wie Ek是,是,sal wees-אאאאא”

当希伯来文文本介于其他普通文本之间时,其精细程度如下:

“他说——我是,过去是,将来会是,过去是,将来会是。”

仅当listview项以希伯来语开头时,文本才会混淆。

我试过了:

אנאאאא-Ek is,was,sal wees Wie Ek is,was,sal wees。”

אנאאאא-Ek is,was,sal wees Wie Ek is,was,sal wees。”

“\U200fאנאאנא\U200f-Ek是,是,sal wees Wie Ek是,是,是,sal wees。”

“(\U200f)אאאנא(\U200f)-Ek is,was,sal wees Wie Ek is,was,sal wees。”

אנאאאא-Ek is,was,sal wees Wie Ek is,was,sal wees。”

אנאאאא-Ek is,was,sal wees Wie Ek is,was,sal wees。”

“\U202bאנאאנאא\U202b-Ek is,was,sal wees Wie Ek is,was,sal wees。”

“(\U202b)אאאנא(\U202b)-Ek is,was,sal wees Wie Ek is,was,sal wees。”

אנאאאא-Ek is,was,sal wees Wie Ek is,was,sal wees。”

אנאאאא-Ek is,was,sal wees Wie Ek is,was,sal wees。”

“\U202eאנאאנא\U202e-Ek是,是,sal wees Wie Ek是,是,是,sal wees。”

“(\U202e)אאאנא(\U202e)-Ek is,was,sal wees Wie Ek is,was,sal wees。”

但所有内容都会显示如下代码: (我不想看到代码)

אנאאאא-Ek is,was,sal wees Wie Ek is,was,sal wees。”

我在清单中尝试了android:supportsRtl=“true”,在我的例子中,这只会影响文本对齐,而不会影响文本

android:supportsRtl="true"
意思是你想要从右到左支持阿拉伯语,类似希伯来语的语言。从右到左的RTL开始,当系统得到希伯来语时,它从右开始。根据我的建议,你需要定义你的应用程序中是否真的需要RTL支持。否则,请将android:supportsRtl=“false”设置为从左到右开始


意思是你想要从右到左支持阿拉伯语,类似希伯来语的语言。从右到左的RTL开始,当系统得到希伯来语时,它从右开始。根据我的建议,你需要定义你的应用程序中是否真的需要RTL支持。否则,请将android:supportsRtl=“false”设置为从左到右开始

问题是您在同一个字符串中混合了rtl和ltr文本。系统查看要显示的字符串,并查看它以希伯来语开头。所以它以RTL模式启动。然后它会看到英文文本。所以它切换到LTR。结果就是你所看到的。在混合这样的语言时,需要使用显式的unicode ltr和rtl标记,以确保正确处理它。有关ltr标记的信息,请参阅。

问题在于您在同一字符串中混合了rtl和ltr文本。系统查看要显示的字符串,并查看它以希伯来语开头。所以它以RTL模式启动。然后它会看到英文文本。所以它切换到LTR。结果就是你所看到的。在混合这样的语言时,需要使用显式的unicode ltr和rtl标记,以确保正确处理它。有关ltr标记的信息,请参见。

请参见此处的答案

我将\u200e用于从右向左

将字符串放入string.xml中

\u200eשלום
TextView text2=(TextView)findViewById(R.id.text2);
String str=getResources().getString(R.String.Yourstring)+“与hello相同”;
text2.setText(str);
结果如你所愿

正如您所希望的,如果您想要数据库,我将添加一些带有数组数据的演示,您可以使用数据库值执行这些类型的工作

String[]struםu数组={“שלום与hello相同”,“שלום与hello相同”,“שם与hello相同”};
TextView text1=(TextView)findViewById(R.id.text1);
TextView text2=(TextView)findViewById(R.id.text2);
TextView text3=(TextView)findViewById(R.id.text3);
TextView text4=(TextView)findViewById(R.id.text4);
字符串str=“”;

对于(inti=0;i请参见此处的答案…)

我将\u200e用于从右向左

将字符串放入string.xml中

\u200eשלום
TextView text2=(TextView)findViewById(R.id.text2);
String str=getResources().getString(R.String.Yourstring)+“与hello相同”;
text2.setText(str);
结果如你所愿

正如您所希望的,如果您想要数据库,我将添加一些带有数组数据的演示,您可以使用数据库值执行这些类型的工作

String[]struםu数组={“שלום与hello相同”,“שלום与hello相同”,“שם与hello相同”};
TextView text1=(TextView)findViewById(R.id.text1);
TextView text2=(TextView)findViewById(R.id.text2);
TextView text3=(TextView)findViewById(R.id.text3);
TextView text4=(TextView)findViewById(R.id.text4);
字符串str=“”;
对于(inti=0;iSooo。。。
这终于对我起作用了

textview.setTextDirection(View.TEXT_DIRECTION_LTR);
请注意,正如我所说,我的问题是,我从数据库中读取数据,而不是显示字符串,所以这段代码强制从左到右读取所有数据,如果我不使用这一行,它将希伯来文字符作为RTL文本,并希望将整个结果显示为RTL

谢谢你的帮助!在这个过程中我读了很多书,学到了很多东西!

所以。。。 这终于对我起作用了

textview.setTextDirection(View.TEXT_DIRECTION_LTR);
请不要
textview.setTextDirection(View.TEXT_DIRECTION_LTR);