このエラーログをGoogleから取得していますが、原因がわかりません。このリソースは、そうではないと表示されているフォルダーにあります。私自身、このエラーに遭遇したことはありません。エラーは次のとおりです。
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;
}
}
そのメソッドを呼び出すときはいつでも、nullポインターを返さないことを確認します。どんなアイデアでも素晴らしいでしょう。誰かが見たい場合は、さらにコードを追加することもできます。ありがとう!