実装したダッシュボードパターンに動的に挿入したボタンが1つあります。onCreateメソッドで、ボタンを作成し、ダッシュボード(MainMenuという名前)に挿入します。
Drawable dr = getResources().getDrawable(R.drawable.my_drawable);
Rect rect = new Rect();
rect.set(0, 0, dr.getIntrinsicWidth(), dr.getIntrinsicHeight());
dr.setBounds(rect);
button = new ImageButton(this);
int id = getResources().getIdentifier("home_button", "style", getPackageName());
button.setId(i+1);
mainMenu.addView(button);
これはstyles.xmlの私のスタイルです:
<style name="home_button">
<item name="android:layout_gravity">center_vertical</item>
<item name="android:layout_width">100dip</item>
<item name="android:layout_height">100dip</item>
<item name="android:gravity">center_horizontal</item>
<item name="android:drawablePadding">2dp</item>
<item name="android:textSize">16dp</item>
<item name="android:text">"Some Text"</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">#ff29549f</item>
</style>
getIdentifierからスタイルを取得すると、Resources.NotFoundExceptionがスローされます。そしてメッセージは次のとおりです。
複雑なため、リソース0x7f060000の要求に失敗しました
そして、私のボタンが表示されません。私が自分自身を伸ばしたら申し訳ありませんが、誰かが何が起こっているのか知っていますか?