【问题标题】:E/UncaughtException: android.content.res.Resources$NotFoundException: Resource ID #0x7f0800a8E/UncaughtException: android.content.res.Resources$NotFoundException: 资源 ID #0x7f0800a8
【发布时间】:2018-09-11 11:52:40
【问题描述】:

当我在诺基亚 7 plus、Android 8.1 版上启动我的应用程序时,应用程序运行良好,但当我在我的另一部手机 Android 6.0 版上尝试它时。我收到此错误:

    E/UncaughtException: android.content.res.Resources$NotFoundException: Resource ID #0x7f0800a8
        at android.content.res.Resources.getValue(Resources.java:1544)
        at android.content.res.Resources.getDrawable(Resources.java:918)
        at android.content.res.Resources.getDrawable(Resources.java:879)
        at com.ephoenixdev.svecanitrenutak.lists.CategoryAdapter.getView(CategoryAdapter.java:102)
        at android.widget.AbsListView.obtainView(AbsListView.java:2474)
        at android.widget.ListView.measureHeightOfChildren(ListView.java:1301)
        at android.widget.ListView.onMeasure(ListView.java:1203)
        at android.view.View.measure(View.java:19147)
        at android.support.constraint.ConstraintLayout.internalMeasureChildren(ConstraintLayout.java:1212)
        at android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java:1552)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:788)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:648)
        at android.view.View.measure(View.java:19147)
        at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:1119)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
        at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:788)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:648)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:788)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:648)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
        at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:3343)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2481)
        at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1440)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1694)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1321)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6708)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:894)
        at android.view.Choreographer.doCallbacks(Choreographer.java:696)
        at android.view.Choreographer.doFrame(Choreographer.java:631)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:880)
        at android.os.Handler.handleCallback(Handler.java:815)
        at android.os.Handler.dispatchMessage(Handler.java:104)
        at android.os.Looper.loop(Looper.java:207)
        at android.app.ActivityThread.main(ActivityThread.java:5765)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
09-11 13:26:20.614 24986-24986/com.ephoenixdev.svecanitrenutak E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.ephoenixdev.svecanitrenutak, PID: 24986
    android.content.res.Resources$NotFoundException: Resource ID #0x7f0800a8
        at android.content.res.Resources.getValue(Resources.java:1544)
        at android.content.res.Resources.getDrawable(Resources.java:918)
        at android.content.res.Resources.getDrawable(Resources.java:879)
        at com.ephoenixdev.svecanitrenutak.lists.CategoryAdapter.getView(CategoryAdapter.java:102)
        at android.widget.AbsListView.obtainView(AbsListView.java:2474)
        at android.widget.ListView.measureHeightOfChildren(ListView.java:1301)
        at android.widget.ListView.onMeasure(ListView.java:1203)
        at android.view.View.measure(View.java:19147)
        at android.support.constraint.ConstraintLayout.internalMeasureChildren(ConstraintLayout.java:1212)
        at android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java:1552)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:788)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:648)
        at android.view.View.measure(View.java:19147)
        at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:1119)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
        at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:788)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:648)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1723)
        at android.widget.LinearLayout.measureVertical(LinearLayout.java:788)
        at android.widget.LinearLayout.onMeasure(LinearLayout.java:648)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6113)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:223)
        at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:3343)
        at android.view.View.measure(View.java:19147)
        at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2481)
        at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1440)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1694)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1321)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6708)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:894)
        at android.view.Choreographer.doCallbacks(Choreographer.java:696)
        at android.view.Choreographer.doFrame(Choreographer.java:631)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:880)
        at android.os.Handler.handleCallback(Handler.java:815)
        at android.os.Handler.dispatchMessage(Handler.java:104)
        at android.os.Looper.loop(Looper.java:207)
        at android.app.ActivityThread.main(ActivityThread.java:5765)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)

这就是我的代码的外观(RecycleView 适配器):

public class CategoryAdapter extends BaseAdapter {

    private Activity context;

    public CategoryAdapter(Activity context) {
        this.context = context;
    }

    int[] kategorije = {
            R.string.K_1,
            R.string.K_2,
            R.string.K_3,
            R.string.K_4,
            R.string.K_5,
            R.string.K_6,
            R.string.K_7,
            R.string.K_8,
            R.string.K_9,
            R.string.K_10,
            R.string.K_11,
            R.string.K_12,
            R.string.K_13,
            R.string.K_14,
            R.string.K_15,
            R.string.K_16,
            R.string.K_17,
            R.string.K_18,
            R.string.K_19,
            R.string.K_20,
            R.string.K_21,
            R.string.K_22,
            R.string.K_23,
            R.string.K_24
    };

    int[] ikoniceKategorija = {
            R.drawable.ic_muzika,
            R.drawable.ic_restorani,
            R.drawable.ic_dekoracije,
            R.drawable.ic_foto,
            R.drawable.ic_lepota,
            R.drawable.ic_burme,
            R.drawable.ic_torte,
            R.drawable.ic_ketering,
            R.drawable.ic_pica,
            R.drawable.ic_vencanice,
            R.drawable.ic_svecana_odela,
            R.drawable.ic_aksesoar,
            R.drawable.ic_obuca,
            R.drawable.ic_pozivnice,
            R.drawable.ic_satori,
            R.drawable.ic_limuzine,
            R.drawable.ic_prenociste,
            R.drawable.ic_casoviplesa,
            R.drawable.ic_igraonice,
            R.drawable.ic_animacije,
            R.drawable.ic_osoblje,
            R.drawable.ic_pokloncici,
            R.drawable.ic_organizatori,
            R.drawable.ic_ostalo,
    };

    @Override
    public int getCount() {
        return kategorije.length;
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @NonNull
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        LayoutInflater inflater = context.getLayoutInflater();

        convertView = inflater.inflate(R.layout.list_item_categories,null);

        ImageView imageView = convertView.findViewById(R.id.imageViewListItemCategories);
        TextView textView = convertView.findViewById(R.id.textViewListItemCategories);

        imageView.setImageResource(ikoniceKategorija[position]);
        textView.setText(kategorije[position]);
        return convertView;
    }
}

这很奇怪:

知道有什么问题吗?而且我还尝试了其他一些手机,有些工作有些不行。

我称之为 onCreate() 方法:

private void createList() {

        // Kreiranje liste
        ListView listView= findViewById(R.id.listViewMain);
        CategoryAdapter categoryAdapter = new CategoryAdapter(CategoriesActivity.this);
        listView.setAdapter(categoryAdapter);
}

【问题讨论】:

标签: java android


【解决方案1】:

确保所有图片都在 Drawbles 文件夹中。然后

setImageDrawable 应该是这样的

Resources resources = context.getResources();
image.setImageDrawable(resources.getDrawable(ikoniceKategorija[position]));

【讨论】:

  • 使用 this.getResources();
  • context.getResources();对于您的情况,因为您使用了适配器
  • 所有图片都在drawable里面?
  • 是的,所有图片都在 drawable 中,并且尝试了这个并且上下文仍然让应用迷恋
  • 找到了解决方案,当我打开项目视图时,我看到 Android Studio 在名为 drawable.v24 的文件夹中创建了一些图标并将我的一些图标放在那里,我将它们移动到 drawable 文件夹中,它工作正常......感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 2018-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多