Android - ListActivity, fügen Sie Kopf-und Fußzeilen-Ansicht
Ich bin mit ListActivity, listview.
listView = getListView();
einfach perfekt funktioniert. Ich fügte hinzu, Fußzeilen-Ansicht als
LayoutInflater inflater = getLayoutInflater();
listView.addFooterView( inflater.inflate( R.layout.footer, null ), null, false);
und alles war glänzend, aber hässlich, also wollte ich hinzufügen, dass das Fußzeilen-Ansicht (die enthält nur 1 edittext und nur 1 Taste), um die header der listView als
LayoutInflater inflater = getLayoutInflater();
listView.addHeaderView( inflater.inflate( R.layout.footer, null ), null, false);
- und plötzlich geht alles schief, und ich bekomme RuntimeException sofort.
Suspended(exception RuntimeException)
ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent)
ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord, Intent)
ActivityThread.access$2200(ActivityThread, Activity$ActiviyRecord, Intent),
so on..
Warum ist es wirft exception ? Was ist der Unterschied zwischen addFooterView und addHeaderView, und wie kann ich den Header hinzufügen, um ListActivity ?
UPDATE
So, wie Sie können, Lesen Sie in den Kommentaren, mein logcat funktioniert immer noch nicht, aber ich habe einfach versucht, weiter in diesem moment:
} catch(Exception e){
Writer result = new StringWriter();
PrintWriter printWriter = new PrintWriter(result);
e.printStackTrace(printWriter);
String error = result.toString();
}
darnach ich setzen, breakpoint, und ich kann Lesen-Fehler in Ausdrücken Abschnitt. er sagte :
java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called.
es war lehrreich für uns alle. Nach änderung der Art der Befehle, es funktioniert perferctly.
- voll logcat hier...
- logcat nicht funktioniert :S nie gearbeitet zu mir
- nicht funktioniert :S nie gearbeitet zu mir" - Sie bedeuten, dass Sie nicht wissen, wie Sie auf die logcat-Daten? Starten Sie emulator, oder schließen Sie ein Telefon an den PC an und verwenden Sie DDMS in eclipse, und Sie werden sehen, jede app, die ausgeführt wird, ausgeben von Daten auf logcat.
- ich meine, logcat nicht alles berichten
- Dann fangen Sie die Ausnahme mit
catch(Exception e)
und in den catch-block verwendene.printStackTrace()
- aber nur Dinge, die ich geändert wurde, ist die Veränderung addFooterView zu addHeaderView. und addFooterView funktioniert everytimebut 'addHeaderView' nicht
- ich habe. und leider ist es nicht wirklich zu berichten, was
- Sie müssen lernen, wie man die tools verwenden. Sie sind absichtlich verhindert immer die debugging-Informationen, die Sie benötigen, durch die Aussetzung der Ausführung auf die Ausnahme. Tun Sie dies nicht. Ermöglichen die Anwendung zum Absturz, und Ihr stack-trace wird angezeigt, in LogCat.
- Nicht mir die Schuld bitte. LogCat funktioniert immer noch nicht. Ich finde einen Weg, um Fehler Auslesen, ich aktualisiert die Frage. Danke !
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie sich
Listview-Methode addHeaderView oder addFooterView muss aufgerufen werden, bevor setAdapter.
Erstellen layout-xml-Code für header und footer
header_layout.xml
footer_layout.xml
nun in der activity java Datei onCreate () - Methode hinzufügen
also, wenn Sie hinzufügen möchten header Blick auf deine listView, die Sie tun sollten, die stark vor der Verwendung setListAdapter() oder sonst bewirkt es eine IllegalStateException.