Проблема с strings.xml ... не может передать R.string.foo как CharSequence - PullRequest
5 голосов
/ 06 ноября 2010

У меня работает TabActivity. В следующей строке:

spec = tabHost.newTabSpec("alltime").setIndicator(R.string.plots_allTime)
       .setContent(intent);

Я получаю ошибку, потому что setIndicator() ожидает CharSequence. Я не совсем уверен, как это исправить, потому что я должен быть в состоянии передать строку в этот параметр. Я думаю, что проблема заключается в том, что сгенерированный R.java инициализирует все в файле strings.xml как public static final int. Метод setIndicator (), кажется, не слишком нравится. Есть ли способ обойти это?

Ответы [ 2 ]

16 голосов
/ 06 ноября 2010
spec = tabHost.newTabSpec("alltime").setIndicator(getString(R.string.plots_allTime))
.setContent(intent);
10 голосов
/ 06 ноября 2010

Вам необходимо получить строку, соответствующую идентификатору, из R.string: use context.getText, которая возвращает локализованный стиль CharSequence из таблицы строк по умолчанию пакета приложения:

setIndicator(context.getText(R.string.plots_allTime) )
...