Мне нужно реализовать AutoComplete TextView
для всех поддерживаемых locales
устройств Android. Я пробовал следующее:
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
.. Пожалуйста, помогите мне друзья ....
5
Avadhani Y
2 Апр 2013 в 12:34
Он возвращает String как объект Java. Мне нужен строковый массив всех локалей ...
– Avadhani Y
2 Апр 2013 в 12:40
Зачем вам нужен последний String []?
– StarPinkER
2 Апр 2013 в 12:45
Не можете понять код выше ?? Я использую AutoCompleteTextView для отображения списка локалей ...
– Avadhani Y
2 Апр 2013 в 12:54
Вы хотите, чтобы названия страны или страны были такими [af, af_NA, af_ZA, am, am_ET, ar, ar_AE, ar_BH, ar_DZ, ar_EG, ar_IQ, ar_JO, ar_KW .. или отображаемые названия или язык страны
– Pragnani
2 Апр 2013 в 12:56
Locale.toString () вернет String, поэтому я думаю, вы можете использовать цикл для его итеративного вызова. Но ваш «финал» на String [] немного усложняет задачу.
– StarPinkER
2 Апр 2013 в 13:03
1 ответ
Лучший ответ
Извините за поздний ответ
Попробуй это
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()]);
Я надеюсь, что это поможет вам.
8
Pragnani
2 Апр 2013 в 13:39
Благодарю. У меня это сработало. Еще один вопрос: могу ли я динамически изменять мягкую клавиатуру в зависимости от выбранной локали? Например, я выбрал французский язык, используя приведенный выше код в AutoComplete TextView. После выбора французского, могу ли я динамически изменить мягкую клавиатуру на французский для следующего поля EditText ??? Может чего добиться ??? Помогите, пожалуйста...
– Avadhani Y
2 Апр 2013 в 14:00
Нет способа AFAIK, проверьте это для справки stackoverflow.com/questions/6545734/…
– Pragnani
2 Апр 2013 в 14:09
Как бы то ни было, вы можете изменить языковой стандарт, чтобы получить ресурсы на определенном языке, проверьте это stackoverflow.com/questions/2900023/…
– Pragnani
2 Апр 2013 в 14:12
Да, я уже нашел это, но вместо того, чтобы менять вручную, мы не можем делать это динамически ??
– Avadhani Y
2 Апр 2013 в 14:13
В том же ответе CommonsGuy (Марк Мерфи) ответил, что это невозможно.
– Pragnani
2 Апр 2013 в 14:22
Похожие вопросы
Связанные вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.