安卓 - 获取支持的语言列表

5

我需要为Android设备支持的所有语言实现自动完成TextView。我尝试了以下方法:

 public class AutoCompleteView extends Activity{

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_dropdown_item_1line, Locales);
    AutoCompleteTextView textView = (AutoCompleteTextView)
            findViewById(R.id.locale_list);
    textView.setAdapter(adapter);
}
static Locale[] locales = Locale.getAvailableLocales();
private static final String[] Locales = ;
}

我可以使用Locale[]获取本地化信息。在代码的最后一行,如何将其解析为String[] Locales?请帮帮我吧...


为什么需要一个final String[]? - StarPinkER
你能看懂上面的代码吗?我正在使用AutoCompleteTextView来显示区域设置列表... - Avadhani Y
@Aʌɐpɥɐuı 你需要国家名称还是像这样的国家代码 [af,af_NA,af_ZA,am,am_ET,ar,ar_AE,ar_BH,ar_DZ,ar_EG,ar_IQ,ar_JO,ar_KW.. 或者国家显示名称或语言? - Pragnani
Locale.toString()会返回一个字符串,所以我认为你可以使用循环来迭代调用它。但是你在String[]上的"final"使得它有点困难。 - StarPinkER
@Aʌɐpɥɐuı 抱歉回复晚了.. 我已经发布了答案.. 请检查一下。 - Pragnani
显示剩余2条评论
1个回答

9

抱歉回复晚了。

试试这个。

  Locale[] locales = Locale.getAvailableLocales();
            ArrayList<String> localcountries=new ArrayList<String>();
            for(Locale l:locales)
            {
                localcountries.add(l.getDisplayLanguage().toString());
            }
    String[] languages=(String[]) localcountries.toArray(new String[localcountries.size()]);

我希望这可以帮助你。

@Aʌɐpɥɐuı 据我所知,目前没有办法。请参考以下链接:http://stackoverflow.com/questions/6545734/dynamically-change-android-soft-keyboard-language-setting - Pragnani
是的,我已经找到了,但是我们能不能动态地进行更改呢? - Avadhani Y
@Aʌɐpɥɐuı 在同一个回答中,CommonsGuy(Mark Murphy)回答说这是不可能的。 - Pragnani
我所做的是创建了一个带有AutoCompleteTextView和Button的FirstActivity。在点击该按钮时,我将AutoCompleteTextView的值(即选择的语言-印地语)传递到另一个Activity中。在第二个Activity中,我有一个editText,在加载Activity后,键盘不显示。单击EditText后,会显示英语(默认语言)键盘。我尝试了Alex Volovoy的答案和harikrishnan的答案...但没有起作用...我该怎么办?我在清单中声明了Second Activity为<activity android:name=".FinalScreen"/>..我还需要改变吗? - Avadhani Y
在清单文件的 Activity 标签中设置 android:configChanges="locale" 属性。 - Pragnani
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接