У меня есть файл 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
из 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 в качестве второго испытания. (Вместо этого я даже проверил com.MyPackage.R.drawable.btn_solve_selector
, но не смог).
Я удалил и переустановил приложение, но не получилось. Что мне не хватает?
_button1.setBackgroundResource(R.drawable.btn_solve_selector);
был помещен в onCreate(). - person Youngjae   schedule 03.06.2013