我有一个包含两列的 SQlite 表_id
和name
. 出于国际化目的,我将名称存储为R.string.today
Now I want to get string resource associated with 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() 的不同变体
我做错了什么?