Jetzt registrieren » Login
« Login

Passwort vergessen?

Du bist hier: Android Forum » Android Developer Forum » Android Entwickler Forum » ListView - java.io.IOException: Is a directory
Gehe zu: Neue Beiträge | Eigene Threads | Beobachtete Threads

ListView - java.io.IOException: Is a directory

Um aktiv im Android Forum teilnehmen zu können, musst Du Dich bei AndroidPIT registriert haben.

User-Foto
Martin Grulichde

Rang: Schülersprecher

Beiträge: 55

Eintrittsdatum: 14.12.2009

ListView - java.io.IOException: Is a directory
verfasst am 12.04.2011 18:30:05
Hi Leute,

ich bin am verzweifeln.
Erst einmal kurz zu der Umgebung:

Ich deklariere folgendes am Anfang der Klasse:
1private ArrayList myListing = new ArrayList();
2private SimpleAdapter reportListAdapter;

Im onCreate kommt dann unter anderem folgendes vor:
1reportListAdapter = new SimpleAdapter(
2 this,
3 myListing,
4 R.layout.reportlist_item,
5 new String[] {
6 "title",
7 "datetime",
8 "state_read",
9 "state_loaded",
10 "state_favorite"},
11 new int[] {
12 R.id.title,
13 R.id.datetime,
14 R.id.state_read,
15 R.id.state_loaded,
16 R.id.state_favorite}
17 );
18 setListAdapter(reportListAdapter);
19 setContentView(R.layout.reportslist);

Und zu guter letzt um die Daten in die ListView zu schreiben mache ich folgendes in einer Schleife:
1HashMap item = new HashMap();
2 item.put("title", title);
3 item.put("datetime", datetime);
4 if(read){
5 item.put("state_read", R.drawable.news_read);
6 } else {
7 item.put("state_read", R.drawable.news_unread);
8 }
9 if(loaded){
10 item.put("state_loaded", R.drawable.report_complete);
11 } else {
12 item.put("state_loaded", R.drawable.report_base);
13 }
14 if(favorite){
15 item.put("state_favorite", R.drawable.report_favorite);
16 }
17
18 myListing.add(item);

Das Resultat im LogCat, sieht aber dummerweise folgendermaaßen aus (Wenn ich myListing.add(item); auskommentiere nicht):

Kann mir einer sagen, warum das so ist und vielleicht was da schief läuft, ich verstehe es nämlich nicht.

104-12 18:21:10.740: DEBUG/skia(2664): ---- read threw an exception
204-12 18:21:10.740: WARN/System.err(2664): java.io.IOException: Is a directory
304-12 18:21:10.740: WARN/System.err(2664): at org.apache.harmony.luni.platform.OSFileSystem.read(Native Method)
404-12 18:21:10.740: WARN/System.err(2664): at dalvik.system.BlockGuard$WrappedFileSystem.read(BlockGuard.java:165)
504-12 18:21:10.740: WARN/System.err(2664): at java.io.FileInputStream.read(FileInputStream.java:290)
604-12 18:21:10.750: WARN/System.err(2664): at java.io.BufferedInputStream.fillbuf(BufferedInputStream.java:166)
704-12 18:21:10.750: WARN/System.err(2664): at java.io.BufferedInputStream.read(BufferedInputStream.java:324)
804-12 18:21:10.750: WARN/System.err(2664): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
904-12 18:21:10.750: WARN/System.err(2664): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:470)
1004-12 18:21:10.750: WARN/System.err(2664): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:284)
1104-12 18:21:10.750: WARN/System.err(2664): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:309)
1204-12 18:21:10.750: WARN/System.err(2664): at android.graphics.drawable.Drawable.createFromPath(Drawable.java:800)
1304-12 18:21:10.760: WARN/System.err(2664): at android.widget.ImageView.resolveUri(ImageView.java:528)
1404-12 18:21:10.760: WARN/System.err(2664): at android.widget.ImageView.setImageURI(ImageView.java:305)
1504-12 18:21:10.760: WARN/System.err(2664): at android.widget.SimpleAdapter.setViewImage(SimpleAdapter.java:264)
1604-12 18:21:10.760: WARN/System.err(2664): at android.widget.SimpleAdapter.bindView(SimpleAdapter.java:192)
1704-12 18:21:10.760: WARN/System.err(2664): at android.widget.SimpleAdapter.createViewFromResource(SimpleAdapter.java:126)
1804-12 18:21:10.760: WARN/System.err(2664): at android.widget.SimpleAdapter.getView(SimpleAdapter.java:114)
1904-12 18:21:10.770: WARN/System.err(2664): at android.widget.AbsListView.obtainView(AbsListView.java:1446)
2004-12 18:21:10.770: WARN/System.err(2664): at android.widget.ListView.makeAndAddView(ListView.java:1745)
2104-12 18:21:10.770: WARN/System.err(2664): at android.widget.ListView.fillDown(ListView.java:670)
2204-12 18:21:10.770: WARN/System.err(2664): at android.widget.ListView.fillSpecific(ListView.java:1302)
2304-12 18:21:10.770: WARN/System.err(2664): at android.widget.ListView.layoutChildren(ListView.java:1576)
2404-12 18:21:10.770: WARN/System.err(2664): at android.widget.AbsListView.onLayout(AbsListView.java:1273)
2504-12 18:21:10.770: WARN/System.err(2664): at android.view.View.layout(View.java:7192)
2604-12 18:21:10.770: WARN/System.err(2664): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
2704-12 18:21:10.780: WARN/System.err(2664): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
2804-12 18:21:10.780: WARN/System.err(2664): at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
2904-12 18:21:10.780: WARN/System.err(2664): at android.view.View.layout(View.java:7192)
3004-12 18:21:10.780: WARN/System.err(2664): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
3104-12 18:21:10.780: WARN/System.err(2664): at android.view.View.layout(View.java:7192)
3204-12 18:21:10.780: WARN/System.err(2664): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
3304-12 18:21:10.790: WARN/System.err(2664): at android.view.View.layout(View.java:7192)
3404-12 18:21:10.790: WARN/System.err(2664): at android.view.ViewRoot.performTraversals(ViewRoot.java:1141)
3504-12 18:21:10.790: WARN/System.err(2664): at android.view.ViewRoot.handleMessage(ViewRoot.java:1860)
3604-12 18:21:10.790: WARN/System.err(2664): at android.os.Handler.dispatchMessage(Handler.java:99)
3704-12 18:21:10.790: WARN/System.err(2664): at android.os.Looper.loop(Looper.java:123)
3804-12 18:21:10.790: WARN/System.err(2664): at android.app.ActivityThread.main(ActivityThread.java:3839)
3904-12 18:21:10.790: WARN/System.err(2664): at java.lang.reflect.Method.invokeNative(Native Method)
4004-12 18:21:10.790: WARN/System.err(2664): at java.lang.reflect.Method.invoke(Method.java:507)
4104-12 18:21:10.790: WARN/System.err(2664): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
4204-12 18:21:10.800: WARN/System.err(2664): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
4304-12 18:21:10.800: WARN/System.err(2664): at dalvik.system.NativeStart.main(Native Method)
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Gelöschter Account
RE: ListView - java.io.IOException: Is a directory
verfasst am 12.04.2011 19:13:57
Mach mal hinter den Favoriten den else{} Zweig.

1else { item.put("state_favorite", null); }

Und setz' auch mal den setContentView() nach oben.

Gruß
Harald

-----
Tankbuch Mobil | Wuala Music Player | Wuala Sync | GaCoMo

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Martin Grulichde

Rang: Schülersprecher

Beiträge: 55

Eintrittsdatum: 14.12.2009

RE: ListView - java.io.IOException: Is a directory
verfasst am 12.04.2011 19:17:23
Habe ich zwar entsprechend angepasst, ändert aber leider nichts.
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Gelöschter Account
RE: ListView - java.io.IOException: Is a directory
verfasst am 12.04.2011 20:29:22
Hast Du mal ein clean für das Projekt durchgeführt?

Der ganze Stack erzeugt bei mir das Gefühl das etwas mit den Ressourcen nicht stimmt. Sind die Drawables alle da? Schieb sie mal in drawables und nicht in die hdpi/... Ordner. Gibt es Unterverzeichnisse unterhalb der drawables Ordner - dafür ist erst letzte Woche ein Patch durchs Android Code Review geschleust worden. Nimm mal andere Namen. Wie sieht das row_layout aus (reportlist_item) - sind das auch alles ImageViews für die Drawables? Werden in dem row_layout schon anderein Drawables herangezogen?

Die Vorschläge hören sich bescheuert an aber ich würde einfach Vieles mal auf den Kopf stellen.

Gruß
Harald

-----
Tankbuch Mobil | Wuala Music Player | Wuala Sync | GaCoMo

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Martin Grulichde

Rang: Schülersprecher

Beiträge: 55

Eintrittsdatum: 14.12.2009

RE: ListView - java.io.IOException: Is a directory
verfasst am 12.04.2011 20:35:48 — geändert am 12.04.2011 22:09:25
Admin Service Limited
Hast Du mal ein clean für das Projekt durchgeführt?

Der ganze Stack erzeugt bei mir das Gefühl das etwas mit den Ressourcen nicht stimmt. Sind die Drawables alle da? Schieb sie mal in drawables und nicht in die hdpi/... Ordner. Gibt es Unterverzeichnisse unterhalb der drawables Ordner - dafür ist erst letzte Woche ein Patch durchs Android Code Review geschleust worden. Nimm mal andere Namen. Wie sieht das row_layout aus (reportlist_item) - sind das auch alles ImageViews für die Drawables? Werden in dem row_layout schon anderein Drawables herangezogen?

Die Vorschläge hören sich bescheuert an aber ich würde einfach Vieles mal auf den Kopf stellen.

Gruß
Harald

Hi Harald,

erst einmal danke. Ein Clean habe ich bereits probiert, sowie den generierten Ordner auch schon einmal gelöscht, damit dieser neu erzeugt wird.
Die drawables sind alle da und liegen, auch alle nur in dem "drawable"-Ordner, ohne Unterverzeichnisse.
reportlist_item sieht folgendermaaßen aus, (in diesem Falle noch mit Template-Strings/Images):
1<?xml version="1.0" encoding="utf-8"?>
2<LinearLayout
3 xmlns:android="http://schemas.android.com/apk/res/android"
4 android:layout_width="fill_parent"
5 android:layout_height="?android:attr/listPreferredItemHeight"
6 android:padding="6dip"
7 style="@style/ReportList">
8 <ImageView
9 android:id="@+id/state_read"
10 android:layout_width="wrap_content"
11 android:layout_height="fill_parent"
12 android:layout_marginRight="6dip"
13 android:src="@drawable/news_unread" />
14 <LinearLayout
15 android:orientation="vertical"
16 android:layout_width="0dip"
17 android:layout_weight="1"
18 android:layout_height="fill_parent">
19 <TextView
20 android:id="@+id/title"
21 android:layout_width="fill_parent"
22 android:layout_weight="1"
23 android:gravity="center_vertical"
24 android:ellipsize="marquee"
25 style="@style/ReportListTitle"
26 android:text="Dies ist ein toller Titel"
27 android:layout_height="wrap_content"
28 android:singleLine="true" />
29 <LinearLayout
30 android:layout_width="fill_parent"
31 android:id="@+id/linearLayout1"
32 android:layout_height="wrap_content">
33 <TextView
34 android:id="@+id/datetime"
35 android:layout_width="wrap_content"
36 android:layout_height="wrap_content"
37 android:layout_weight="1"
38 android:gravity="left"
39 android:ellipsize="none"
40 style="@style/ReportListDate"
41 android:text="24.12.2412 24:12 Uhr" />
42 <ImageView
43 android:id="@+id/state_favorite"
44 android:layout_width="wrap_content"
45 android:layout_height="fill_parent"
46 android:gravity="right"
47 android:src="@drawable/report_favorite" />
48 <ImageView
49 android:id="@+id/state_loaded"
50 android:layout_width="wrap_content"
51 android:layout_height="fill_parent"
52 android:gravity="right" />
53 </LinearLayout>
54 </LinearLayout>
55</LinearLayout>
Inzwischen habe ich angefangen mal den ganzen Prozess mit der Hashmap und dem ListAdapter neu zu schreiben, in der Hoffnung, das ich irgendwo etwas übersehen hatte, was mit dem neu schreiben behoben werden kann. Wüsste aber natürlich dennoch gern wie es zu diesem Umstand kommen konnte.

[UPDATE]
Nachdem ich nun die verwendeten Grafiken alle entfernt habe und diese mit neuen Namen wieder eingebunden habe funktioniert es jetzt.
Wie schön, einen ganzen Tag für einen Fehler verschwendet, der nicht in der App, sondern in der IDE lag. Nun gut, vielen dank für den Tipp und so kann ich ja jetzt weitermachen.

Danke & Gruß Martin
Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
User-Foto
Gelöschter Account
RE: ListView - java.io.IOException: Is a directory
verfasst am 12.04.2011 23:41:22
Schön das ich zumindest ein paar Anregungen beitragen konnte.

Dieser ganze Ressourcen Kram in der Android Entwicklungsumgebung geht mir schon seit Monaten ganz gehörig auf den Zeiger. Es vergeht nicht ein einziger Tag an dem ich beim Start des Eclipse nicht darauf hingewiesen werde das in ein paar Projekten die R Klasse nicht gefunden wurde. Ich darf dann für jedes dieser Projekte einen neuen Compile erzwingen und dann ist alles wieder im Lot.

Bei jedem Release Build bekomme ich Panik wenn ich daran denke das ausgerechnet dann eine Ressource-Id kaputt geht.

Und mit jedem Update des SDK hoffe ich das dieses Problem endlich gelöst wird - wird es aber nicht.

Deshalb empfehle ich bei jedem Problem das dem wie das von Dir geschilderte ähnelt ein wenig an den Ressourcen "rumzufummeln".

Gruß
Harald

-----
Tankbuch Mobil | Wuala Music Player | Wuala Sync | GaCoMo

Antworten mit Zitat Antworten Link ±0     (0 Stimmen)
Du bist hier: Android Forum » Android Developer Forum » Android Entwickler Forum » ListView - java.io.IOException: Is a directory
Gehe zu: Neue Beiträge | Eigene Threads | Beobachtete Threads

AndroidPIT unterstützen

Gefällt Dir AndroidPIT? Wir freuen uns, wenn Du uns unterstützt. Wie das geht? Klicke einfach auf die unten stehenden Links.

Weiterempfehlen

Gefällt Dir AndroidPIT? Dann empfiehl uns bitte weiter!

Fragen / Hilfe

Du hast Fragen zu AndroidPIT oder willst noch mehr erfahren? Diese Links helfen Dir vielleicht weiter...

  Du liest gerade: ListView - java.io.IOException: Is a directory - Android Forum - AndroidPIT. Alle Zeitangaben in UTC+02:00. Es ist jetzt 19:10 Uhr.