2011-12-27 38 views
0

我想從可繪製文件夾插入圖像到自定義列表視圖上的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);

它沒有拋出任何錯誤,但放緩了應用程序很多。任何一個可以讓我知道這個問題可能是什麼?

+0

那麼,人們告訴你,你指向一個文件夾,而不是一個文件。確實如此。但你也知道android不能管理可繪製文件夾中的文件夾,你不知道嗎?也就是說,所有的圖像都應該放在drawable的根部。你不能drawable/myfolder/myimage.png。至少還沒有。這只是對你的警告。 – 2011-12-27 07:20:09

+0

我有可繪製的,drawable-hdpi,drawable-mdpi,drawable-ldpi和drawable-xhdpi文件夾,其中放置了相應的圖像。在這裏做錯什麼? – 2011-12-27 07:31:44

+0

哦,不,這是對的,我的意思是你不能在這些文件夾裏面有文件夾。 – 2011-12-27 14:52:55

回答

2

檢查圖像路徑圖像名稱。這個問題可能在圖像路徑中。我相信它指向任何目錄不要文件。

+0

在我的情況下它是/sdcard/media/images/show/XP-Guide.jpg 和文件那裏也...但不知道爲什麼它給這個錯誤。任何想法呢? – CoDe 2012-07-26 06:46:19

0

也許問題是:映像文件的路徑指向一個文件夾而不是文件

相關問題