У меня есть таблица SQlite с двумя столбцами _id
и name
. В целях интернационализации я храню имя как R.string.today
Теперь я хочу получить строковый ресурс, связанный с R.string.today
:
String column = myCursor.getString(myCursor.getColumnIndex(MainDb.NAME));
int resId = getApplicationContext().getResources().getIdentifier(column, "strings", getApplicationContext().getPackageName());
String buttonText;
if (resId != 0)
{
buttonText = getApplicationContext().getString(resId);
} else
{
buttonText = "Resource is null!";
}
resId
всегда равно 0. Переменная column
имеет правильное значение, я проверил это с помощью отладчика. Я пробовал разные варианты resId
:
- «строка» вместо «строки» в defType.
- Различные варианты getResources, такие как Resources.getSystem()...
- Различные варианты getPackageName()
Что я делаю неправильно?
int resId = getApplicationContext().getResources().getString(R.string.MYSTRING)
? - person avalancha   schedule 29.08.2013String s = getResources().getString(R.string.today)
- person Raghunandan   schedule 29.08.2013today
вместоR.string.today
? - person Trinimon   schedule 29.08.2013