最後我得到了我一直在尋找後很多腦hamering.this的給我的名單被下的langauge和輸入設置顯示漢語語言
public void getLangs()
{
String[] systemLocaleIetfLanguageTags = getAssets().getLocales();
Arrays.sort(systemLocaleIetfLanguageTags);
this.data = new ArrayList();
for (String ietfLanguageTag : systemLocaleIetfLanguageTags)
{
if (ietfLanguageTag != null && ietfLanguageTag.length() == 5)
{
this.data.add(new Loc(ietfLanguageTag));
}
}
}
還可以創建一個類來獲得所有的語言
public class Loc {
protected Locale locale;
public Loc(String ietfLanguageTag) {
this.locale = null;
String[] l = ietfLanguageTag.split("_");
if (l.length == 2) {
this.locale = new Locale(l[0], l[1]);
}
}
public String oneLineLanguageCountry() {
return String.format("%s (%s)", new Object[]{toTitleCase(this.locale.getDisplayLanguage(this.locale)), toTitleCase(this.locale.getDisplayCountry(this.locale))});
}
public String twoLinesLanguageCountry() {
return String.format("%s\n%s", new Object[]{toTitleCase(this.locale.getDisplayLanguage(this.locale)), toTitleCase(this.locale.getDisplayCountry(this.locale))});
}
public String getIetfLanguageTag() {
return String.format("%s_%s", new Object[]{this.locale.getLanguage(), this.locale.getCountry()});
}
public Locale getLocale() {
return this.locale;
}
private static String toTitleCase(String s) {
return s.length() == 0 ? s : new StringBuilder(String.valueOf(Character.toUpperCase(s.charAt(0)))).append(s.substring(1)).toString();
}
public boolean isLocaleCurrentLocale() {
return Locale.getDefault().equals(getLocale());
}
public String toString() {
return oneLineLanguageCountry();
}
}
請投我的答案,如果它也適合你
對不起,我不明白你,你可以更明確嗎?你期望得到什麼? –
是的,現在當你進入你的設備設置,你會看到設置語言和輸入裏面,你有語言點擊你將得到的語言列表。 – tanmeet
我希望在我的應用中獲得相同的列表 – tanmeet