- Forum-Beiträge: 2
11.09.2014, 01:00:28 via Website
11.09.2014 01:00:28 via Website
Hallo Leute,
ich brauche eure Hilfe, denn ich sehe meinen Fehler nicht. Da ich hier neu bin, hoffe ich das ich hier richtig bin. Sollte irgendwas nicht passen, bitte einfach bescheid sagen.
Zu meinem Problem: Ich versuche lediglich eine Auflistung, in diesem Fall von Büchern, in einer App zu realisieren. Aber leider kann ich die Listview nicht davon überzeugen mit der DB zu kommunizieren.
MySQLiteHelper db = new MySQLiteHelper(this);
//getAllBooks
try{
List<String> bookStringList = db.getAllBookStrings(); //Buecher in Liste
Log.d("Testausgabe",bookStringList.toString()); //Testausgabe
ArrayAdapter<String> bookAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, bookStringList); //Adapter fuer ListView und Buecherliste
ListView bookView = (ListView) findViewById(R.id.listView1); //ListView zuweisen
bookView.setAdapter(bookAdapter); //Adapter zuweisen
}catch(Exception e){
e.printStackTrace();
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}finally{
db.close();
}
Die Methode getAllBookStrings() gibt eine LinkedList<String> zurück.
LogCat gibt mir die korrekte Ausgabe zurück und direkt danach dann eine NullpointerEx:
Testausgabe: Buch von Autor, Buch2 von Autor2
SystemErr:java.lang.NullpointerEX (Fehler in Zeile: "bookView.setAdapter(bookAdapter);")
Ich habe schon gegoogelt und gelesen und angepasst, aber irgendwie komme ich nicht weiter.
Achso, außerdem funktioniert der Toast nur bedingt. Der Try-catchBlock sorgt zwar dafür, dass die App nicht crash, aber leider gibt er mir keinen Fehlertext aus.
Ich hoffe ihr könnt mir helfen, wenn ihr noch was braucht, sagt bitte einfach bescheid.
LG und vielen Dank schonmal!
Marius
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.