0

我在尝试调试Resources$NotFoundException. 我正在尝试将枚举中的项目AlertDialog动态添加到:

这是我的代码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
    };

}

我在我的手机中定义了所有这 4 个枚举strings.xml,它可以在我的手机上运行,​​但我从用户的手机收到崩溃报告,上面写着:

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)
...
...
...

我真的很困惑为什么会发生这种情况。关于为什么找不到资源的任何想法?

4

1 回答 1

3

您真的应该将循环中的语句拆分为几个只做一件事的语句。

这样,您将更好地了解您的问题所在。

于 2012-10-29T12:05:41.913 回答