1

我正在尝试像这样设置 ListView 选择器:

fileList.setSelector(android.R.layout.simple_list_item_checked);

我得到:

10-02 18:30:08.365: E/AndroidRuntime(13294): java.lang.IllegalStateException: Could not execute method of the activity
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.view.View$1.onClick(View.java:3044)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.view.View.performClick(View.java:3511)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.view.View$PerformClick.run(View.java:14109)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.os.Handler.handleCallback(Handler.java:605)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.os.Handler.dispatchMessage(Handler.java:92)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.os.Looper.loop(Looper.java:137)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.app.ActivityThread.main(ActivityThread.java:4424)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at java.lang.reflect.Method.invokeNative(Native Method)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at java.lang.reflect.Method.invoke(Method.java:511)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at dalvik.system.NativeStart.main(Native Method)
10-02 18:30:08.365: E/AndroidRuntime(13294): Caused by: java.lang.reflect.InvocationTargetException
10-02 18:30:08.365: E/AndroidRuntime(13294):    at java.lang.reflect.Method.invokeNative(Native Method)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at java.lang.reflect.Method.invoke(Method.java:511)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.view.View$1.onClick(View.java:3039)
10-02 18:30:08.365: E/AndroidRuntime(13294):    ... 11 more
10-02 18:30:08.365: E/AndroidRuntime(13294): Caused by: android.content.res.Resources$NotFoundException: File res/layout/simple_list_item_checked.xml from drawable resource ID #0x1090005
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.content.res.Resources.loadDrawable(Resources.java:1923)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.content.res.Resources.getDrawable(Resources.java:664)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.widget.AbsListView.setSelector(AbsListView.java:2196)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at com.blablabla.android.helpers.gui.dialog.fexplorer.FileExplorer.initializeViews(FileExplorer.java:85)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at com.blablabla.android.helpers.gui.dialog.fexplorer.FileExplorer.<init>(FileExplorer.java:76)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at com.example.pruebaandroid.MainActivity.click(MainActivity.java:34)
10-02 18:30:08.365: E/AndroidRuntime(13294):    ... 14 more
10-02 18:30:08.365: E/AndroidRuntime(13294): Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #17: invalid drawable tag CheckedTextView
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:863)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:804)
10-02 18:30:08.365: E/AndroidRuntime(13294):    at android.content.res.Resources.loadDrawable(Resources.java:1920)
10-02 18:30:08.365: E/AndroidRuntime(13294):    ... 19 more

知道为什么会这样吗?

4

1 回答 1

3

您正在尝试将来自(特别是该布局文件是一个简单元素)的布局资源设置为选择器,这显然无法正常工作,因为它需要一个可绘制资源。你很可能想要一个drawableSDKCheckedTextView

android.R.drawable.something

(例如:android.R.drawable.list_selector_background,默认选择器)

于 2012-10-02T17:41:50.083 回答