Как перевести тексты ListView? - PullRequest
0 голосов
/ 01 июня 2011

Мой Android-приложение включает в себя ListView, связанный с SimpleCursorAdapter для базы данных.Эта база данных содержит столбец, который содержит данные типа

somenameofrow
anothername
thirdname

. Однако вместо непосредственного отображения этих текстов в ListView я хотел бы читать соответствующие тексты (на самом деле - переводы) из ресурсов Android.Как мне это сделать?

Я думаю, что могу использовать setViewValue для того же самого, name в приведенном ниже коде есть элемент TextView, который отображает мой текст:

case R.id.name:
    TextView elName = (TextView) view;
    elName.setText(getApplicationContext().getString(R.string.));
    return true;

Я не уверен, как понять, какой правильный идентификатор ресурса, который я ищу (вероятно, cursor.getString(columnIndex) или elName.getText()) и как получить значение?

Upd. Что если я исключу имена из базы данных и вместо них буду использовать идентификаторы.Это поможет?

Ответы [ 2 ]

0 голосов
/ 01 июня 2011

Если вы прочитаете руководство для Android Учебник ListView , вы найдете:

Обратите внимание, что использование жестко заданного массива строк не является наилучшей практикой проектирования. Один из них используется в этом руководстве для простоты, чтобы продемонстрировать виджет ListView. Рекомендуется ссылаться на строковый массив, определенный внешним ресурсом, например, ресурсом в вашем файле res / values ​​/ strings.xml

Просто создайте различные элементы string-array s в res / values-XX, где XX - локали, которые вы хотите перевести.

См. Руководство разработчика для получения дополнительной информации о ресурсах и i18n: http://developer.android.com/guide/topics/resources/localization.html

0 голосов
/ 01 июня 2011

Нет, вы не можете, так как идентификаторы создаются во время компиляции в основном полуслучайным образом, поэтому вы не можете быть уверены, какой идентификатор будет иметь конкретный ресурс String.

Я бы предложилиспользуйте перевод из БД или вы можете прочитать переводы из активов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...