我想從可繪製文件夾插入圖像到自定義列表視圖上的ImageView。但是當我設置滿足條件的圖像時,它從getView提供以下警告。java.io.IOException:是一個目錄Android
12-27 11:56:56.356: DEBUG/skia(341): ---- read threw an exception
12-27 11:56:56.366: WARN/System.err(341): java.io.IOException: Is a directory
12-27 11:56:56.366: WARN/System.err(341): at org.apache.harmony.luni.platform.OSFileSystem.read(Native Method)
12-27 11:56:56.366: WARN/System.err(341): at dalvik.system.BlockGuard$WrappedFileSystem.read(BlockGuard.java:165)
12-27 11:56:56.366: WARN/System.err(341): at java.io.FileInputStream.read(FileInputStream.java:290)
12-27 11:56:56.366: WARN/System.err(341): at java.io.BufferedInputStream.fillbuf(BufferedInputStream.java:166)
12-27 11:56:56.366: WARN/System.err(341): at java.io.BufferedInputStream.read(BufferedInputStream.java:324)
12-27 11:56:56.366: WARN/System.err(341): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
12-27 11:56:56.366: WARN/System.err(341): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:470)
12-27 11:56:56.378: WARN/System.err(341): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:284)
12-27 11:56:56.378: WARN/System.err(341): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:309)
12-27 11:56:56.378: WARN/System.err(341): at android.graphics.drawable.Drawable.createFromPath(Drawable.java:800)
12-27 11:56:56.378: WARN/System.err(341): at android.widget.ImageView.resolveUri(ImageView.java:528)
12-27 11:56:56.378: WARN/System.err(341): at android.widget.ImageView.setImageURI(ImageView.java:305)
12-27 11:56:56.378: WARN/System.err(341): at android.widget.SimpleAdapter.setViewImage(SimpleAdapter.java:264)
12-27 11:56:56.378: WARN/System.err(341): at android.widget.SimpleAdapter.bindView(SimpleAdapter.java:192)
12-27 11:56:56.378: WARN/System.err(341): at android.widget.SimpleAdapter.createViewFromResource(SimpleAdapter.java:126)
12-27 11:56:56.378: WARN/System.err(341): at android.widget.SimpleAdapter.getView(SimpleAdapter.java:114)
12-27 11:56:56.378: WARN/System.err(341): at com.presentation.activity.ShowListActivity$CustomAdapter.getView(ShowListActivity.java:229)
12-27 11:56:56.378: WARN/System.err(341): at android.widget.AbsListView.obtainView(AbsListView.java:1430)
12-27 11:56:56.386: WARN/System.err(341): at android.widget.ListView.makeAndAddView(ListView.java:1745)
12-27 11:56:56.386: WARN/System.err(341): at android.widget.ListView.fillDown(ListView.java:670)
12-27 11:56:56.386: WARN/System.err(341): at android.widget.ListView.fillFromTop(ListView.java:727)
12-27 11:56:56.386: WARN/System.err(341): at android.widget.ListView.layoutChildren(ListView.java:1598)
12-27 11:56:56.386: WARN/System.err(341): at android.widget.AbsListView.onLayout(AbsListView.java:1260)
12-27 11:56:56.386: WARN/System.err(341): at android.view.View.layout(View.java:7175)
12-27 11:56:56.386: WARN/System.err(341): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
12-27 11:56:56.386: WARN/System.err(341): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
12-27 11:56:56.386: WARN/System.err(341): at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
12-27 11:56:56.396: WARN/System.err(341): at android.view.View.layout(View.java:7175)
12-27 11:56:56.396: WARN/System.err(341): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
12-27 11:56:56.396: WARN/System.err(341): at android.view.View.layout(View.java:7175)
12-27 11:56:56.396: WARN/System.err(341): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
12-27 11:56:56.396: WARN/System.err(341): at android.view.View.layout(View.java:7175)
12-27 11:56:56.396: WARN/System.err(341): at android.view.ViewRoot.performTraversals(ViewRoot.java:1140)
12-27 11:56:56.396: WARN/System.err(341): at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
12-27 11:56:56.396: WARN/System.err(341): at android.os.Handler.dispatchMessage(Handler.java:99)
12-27 11:56:56.396: WARN/System.err(341): at android.os.Looper.loop(Looper.java:123)
12-27 11:56:56.396: WARN/System.err(341): at android.app.ActivityThread.main(ActivityThread.java:3683)
12-27 11:56:56.396: WARN/System.err(341): at java.lang.reflect.Method.invokeNative(Native Method)
12-27 11:56:56.396: WARN/System.err(341): at java.lang.reflect.Method.invoke(Method.java:507)
12-27 11:56:56.396: WARN/System.err(341): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-27 11:56:56.406: WARN/System.err(341): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-27 11:56:56.406: WARN/System.err(341): at dalvik.system.NativeStart.main(Native Method)
12-27 11:56:56.466: WARN/System.err(341): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-27 11:56:56.406: WARN/System.err(341): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-27 11:56:56.466: DEBUG/skia(341): ---- read threw an exception
12-27 11:56:56.466: DEBUG/skia(341): --- SkImageDecoder::Factory returned null
12-27 11:56:56.466: INFO/System.out(341): resolveUri failed on bad bitmap uri:
我正在使用擴展SimpleAdapter並根據條件放置文本和圖標的自定義適配器。
我custome適配器看起來像..
serviceAdapter = new CustomAdapter(this, serviceList, R.layout.list_row,
new String[] { "name", "duration","reason", "remark", "img1", "img2", "img3",
"img" }, new int[] { R.id.servicename, R.id.duration,R.id.reason, R.id.remark,
R.id.statusImg1, R.id.statusImg2, R.id.statusImg3, R.id.isExpandable });
我從一個HashMap把相應的值...
HashMap<String, Object> rowValue = new HashMap<String, Object>();
並使用圖像。 rowValue.put("img2", R.drawable.img);
它沒有拋出任何錯誤,但放緩了應用程序很多。任何一個可以讓我知道這個問題可能是什麼?
那麼,人們告訴你,你指向一個文件夾,而不是一個文件。確實如此。但你也知道android不能管理可繪製文件夾中的文件夾,你不知道嗎?也就是說,所有的圖像都應該放在drawable的根部。你不能drawable/myfolder/myimage.png。至少還沒有。這只是對你的警告。 – 2011-12-27 07:20:09
我有可繪製的,drawable-hdpi,drawable-mdpi,drawable-ldpi和drawable-xhdpi文件夾,其中放置了相應的圖像。在這裏做錯什麼? – 2011-12-27 07:31:44
哦,不,這是對的,我的意思是你不能在這些文件夾裏面有文件夾。 – 2011-12-27 14:52:55