java - 如何动态地将英语 "abc123 "数字转换为阿拉伯语 "ابث١٢٣ "android

标签 java android arabic digits

<分区>

已更新

我一直在寻找解决方案,但还没有找到..

我试过了

// Check for language
    String tempLang = Locale.getDefault().getLanguage();
    if (tempLang == "ar") {
        Locale AR_LOCALE_EAST_NUMBERS = new Locale.Builder().setLanguageTag("ar-u-nu-arab").build();
        Locale.setDefault(AR_LOCALE_EAST_NUMBERS);

        firstName.setKeyListener(DigitsKeyListener.getInstance(getActivity().getString(R.string.input_charatars_only_valid)));
    } else {

        firstName.setKeyListener(DigitsKeyListener.getInstance(getActivity().getString(R.string.input_charatars_only_valid)));
    }
  1. 首先它给出了 API 错误..它说要使用

    @TargetApi(Build.VERSION_CODES.LOLLIPOP)

  2. 我想将它用于 15 API,因为我的 minSdk 是 15

是否正确或是否需要任何更改

已更新:

请告诉我如何将英文数字转换为

“abcdefghijklmnopqrstuvwxyz123456789”和一个空间也“”

如何将字符串转换为带有 abc,123 和空格的阿拉伯语?

PS:我是新来的,请忽略是否有任何错误.. 谢谢

最佳答案

您可以使用 replaceAll 来完成。

首先,创建一个方法:

    public String convertToArabic(int value)
{
    String newValue = (((((((((((value+"")
            .replaceAll("1", "١")).replaceAll("2", "٢"))
            .replaceAll("3", "٣")).replaceAll("4", "٤"))
            .replaceAll("5", "٥")).replaceAll("6", "٦"))
            .replaceAll("7", "٧")).replaceAll("8", "٨"))
            .replaceAll("9", "٩")).replaceAll("0", "٠"));
    return newValue;
}

和用法:

String myArabicNumber= convertToArabic(123);
Log.d("output",myArabicNumber);

输出:

١٢٣ 

更新:

你可以通过连接它们来做到这一点:

    String space = "\u00A0"; //space
    String myArabicCharacter = getResources().getString(R.string.help);
    String myArabicNumber= convertToArabic(123);
    String fullHomework = myArabicCharacter+space+myArabicNumber;
    Log.d("output",fullHomework);

输出:

     راهنما ١٢٣

更新2

YourProject/
    res/
       values/
           strings.xml
       values-ar/
           strings.xml

arabic string resource:
    <string name="help">راهنما</string>

english string resource:
    <string name="help">help</string>

关于java - 如何动态地将英语 "abc123 "数字转换为阿拉伯语 "ابث١٢٣ "android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45053523/

相关文章:

java - 移动企业应用平台(MEAP)有推荐吗?

java - Java 中的 Mandelbrot 使用 4 线程

java - 如何将文件中的十六进制值读取到字节数组中?

java - 双端队列根据其位置获取值

java - 我的 Activity onPause/OnResume 方法每分钟无故调用一次

Android Activity 标题等待旋转

android - 在 View 上变换和缩放动画

c# - C# 中的阿拉伯文表示形式 B 支持

java - GAE 阿拉伯语支持

c# - 将 gridview 导出到 Excel 时无法识别阿拉伯字符