0
我在尝试调试Resources$NotFoundException
时遇到了一些问题。我试图从一个枚举项添加到动态一AlertDialog
:无法调试ResourceNotFoundException
下面是从我Activity
代码:
final ArrayList<CharSequence> lstChoices = new ArrayList<CharSequence>();
for (TrendingManager.Filter fltFilter : TrendingManager.Filter.values()) {
lstChoices
.add(getResources()
.getString(
getApplicationContext()
.getResources()
.getIdentifier(
fltFilter.name().toLowerCase(),
"string",
getApplicationContext()
.getApplicationInfo().packageName)));
}
这里的枚举列表:
public class TrendingManager {
public static enum Filter {
ONLY_PRIVATE, ONLY_PUBLIC, ONLY_HQ, ONLY_LQ
};
}
我有所有这些在我的strings.xml
定义4枚枚举,它适用于我的手机,但我从用户的手机收到崩溃报告,其中说:
android.content.res.Resources$NotFoundException: String resource ID #0x0
at android.content.res.Resources.getText(Resources.java:260)
at android.content.res.Resources.getString(Resources.java:344)
at com.mridang.myapp.Trend.onOptionsItemSelected(Trend.java:230)
at android.app.Activity.onMenuItemSelected(Activity.java:2564)
...
...
...
我真的失去了为什么发生这种情况。有关为什么找不到资源的任何想法?
在我的模拟器或手机上本地运行代码不会引发异常。 –
你应该在你的问题中写下这个。你是否检查过包中包含'strings.xml'? – Kai
它似乎是。我使用了我上传到Play商店的APK,并运行APKTool进行反编译。我在其中找到了'strings.xml',这些字符串存在于文件中。我在我的手机上安装了该APK,甚至工作得很好。 –