Android 找不到后台资源

Android 找不到后台资源,android,android-relativelayout,Android,Android Relativelayout,我从谷歌那里得到了这个错误日志,我不知道是什么原因造成的。此资源位于文件夹中,它表示它不在该文件夹中。我自己从来没有遇到过这个错误。以下是错误: android.content.res.Resources$NotFoundException: File res/drawable-mdpi/notebook_ul.jpg from drawable resource ID #0x7f020090 at android.content.res.Resources.loadDrawable(Resou

我从谷歌那里得到了这个错误日志,我不知道是什么原因造成的。此资源位于文件夹中,它表示它不在该文件夹中。我自己从来没有遇到过这个错误。以下是错误:

android.content.res.Resources$NotFoundException: File res/drawable-mdpi/notebook_ul.jpg from drawable resource ID #0x7f020090
at android.content.res.Resources.loadDrawable(Resources.java:1714)
at android.content.res.Resources.getDrawable(Resources.java:581)
at android.view.View.setBackgroundResource(View.java:7391)
at com.bfreq.dice.fragments.SettingsFrag.onCreateView(SettingsFrag.java:76)
..............................
Caused by: java.lang.NullPointerException.........
这是我在片段中调用的资源

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View v = inflater.inflate(R.layout.settings, container, false);

        // Initializing Background
        rLayout = (RelativeLayout) v.findViewById(R.id.relativeLayout_Settings);
        switch (background) {
        case 0:
            rLayout.setBackgroundResource(R.drawable.clay_ul);
            break;
        case 1:
            rLayout.setBackgroundResource(R.drawable.parchment_ul);
            break;
        case 2:
            rLayout.setBackgroundResource(R.drawable.brownpaper_ul);
            break;
        case 3:
            rLayout.setBackgroundResource(R.drawable.notebook_ul);
            break;
        case 4:
            rLayout.setBackgroundColor(Color.WHITE);
            break;
        }
            ........
            return v;
        }
我也从一个方法调用它。现在我知道我不想直接从一个片段到另一个片段,但它一直在工作,没有问题,没有时间重写所有内容

public void setBackground() {

    switch (background) {
    case 0:
        SettingsFrag.rLayout.setBackgroundResource(R.drawable.clay_ul);
        DiceFrag.rLayout.setBackgroundResource(R.drawable.clay_uc);
        DiceLogFrag.rLayout.setBackgroundResource(R.drawable.clay_ur);
        break;
    case 1:
        SettingsFrag.rLayout.setBackgroundResource(R.drawable.parchment_ul);
        DiceFrag.rLayout.setBackgroundResource(R.drawable.parchment_uc);
        DiceLogFrag.rLayout.setBackgroundResource(R.drawable.parchment_ur);
        break;
    case 2:
        SettingsFrag.rLayout.setBackgroundResource(R.drawable.brownpaper_ul);
        DiceFrag.rLayout.setBackgroundResource(R.drawable.brownpaper_uc);
        DiceLogFrag.rLayout.setBackgroundResource(R.drawable.brownpaper_ur);
        break;
    case 3:
        SettingsFrag.rLayout.setBackgroundResource(R.drawable.notebook_ul);
        DiceFrag.rLayout.setBackgroundResource(R.drawable.notebook_uc);
        DiceLogFrag.rLayout.setBackgroundResource(R.drawable.notebook_ur);
        break;
    case 4:
        SettingsFrag.rLayout.setBackgroundColor(Color.WHITE);
        DiceFrag.rLayout.setBackgroundColor(Color.WHITE);
        DiceLogFrag.rLayout.setBackgroundColor(Color.WHITE);
        break;
    }
}

我确保无论何时调用该方法,它都不会返回空指针。任何想法都很好。如果有人想看,我也可以放更多的代码。谢谢

当我为一个特定的dpi(即hdpi、xhdpi…)只创建一个资产时,我得到了这个信息,请确保您的可绘制文件在
drawable/
drawable hdpi/
drawable mdpi/
等目录中可用。您可能在一个
drawable
目录中创建了一个可绘制文件,但不是当前模拟器/设备的来源。

是的,我只在可绘制的mdpi/中有它们,但奇怪的是,它说它在文件夹中找不到它们。。。但可能是因为设备没有使用该文件夹。我会为所有文件夹生成图像,看看是否可以。