プログラムで背景btn_solve_selector.xml
を設定するために、Drawable フォルダーにファイルがあります。Button
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="#ffff0000"/> <!-- pressed -->
<item android:state_focused="true"
android:color="#ff0000ff"/> <!-- focused -->
<item android:color="#ff0000ff"/> <!-- default -->
</selector>
上記のコードで、以下のコードをonCreate
ofにコーディングしましたMyActivity
。
_button1.setBackgroundResource(R.drawable.btn_solve_selector);
しかし、スタックトレースをたどってアプリがクラッシュしました。
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/btn_solvenow_selector.xml from drawable resource ID #0x7f020085
....
at com.MyPackage.MyActivity.setMode(MyActivity.java:343)
....
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #4: <item> tag requires a 'drawable' attribute or child tag defining a drawable
....
ドローアブル xml ファイルが含まれていても読み取りに失敗し<item />
、フォールバックして android.content.res を 2 回目の試行として読み取るようです。(代わりにチェックしcom.MyPackage.R.drawable.btn_solve_selector
ましたが失敗しました)。
アプリを削除して再インストールしましたが失敗しました。私は何が欠けていますか?