N
nithdi
Neues Mitglied
- 0
Hi Leute,
ich habe ein Problem mit Android, bei dem ich absolut nicht weiter komme.
Also hoffe ich hier auf eure Hilfe
Zum Problem:
Ich habe eine Tabactivity mit insgesamt 3 Tabs: | Artists | Albums | Songs |
Gestartet wird im Artists Tab, wo ich ein ListView mit allen möglichen Artists habe (wird aus einer SQL Datenbank geholt). Wenn man nun auf ein ListItem klickt, soll das Programm zum Albums Tab wechseln und alle Alben des zuvor angeklickten Interpreten anzeigen.
Das wollte ich folgendermaßen lösen:
Ich überschreibe die OnItemClick Methode von der Astists-ListView und führe dort dann einfach wieder eine SQL Abfrage durch, lade die Ergebnisse in einen ArrayAdapter und binde diesen an die Album-ListView.
Code des ArrayAdapters aus Artists-Listview:
Code der überschriebenen ItemClickMethode:
Allerdings klappt das nicht. In der Artistsliste klappt alles, kann auch auf ein Item klicken, danach kommt aber ne NullPointerException.
Mein Verdacht ist das getApplicationContext des zweiten Arrayadapters. Denn sobald ich den Adapter nicht setze, kann ich in Tab 2 springen.
Hoffentlich habt ihr ne Idee.. bin schon echt am Verzweifeln.
DANKE!!
ich habe ein Problem mit Android, bei dem ich absolut nicht weiter komme.
Also hoffe ich hier auf eure Hilfe
Zum Problem:
Ich habe eine Tabactivity mit insgesamt 3 Tabs: | Artists | Albums | Songs |
Gestartet wird im Artists Tab, wo ich ein ListView mit allen möglichen Artists habe (wird aus einer SQL Datenbank geholt). Wenn man nun auf ein ListItem klickt, soll das Programm zum Albums Tab wechseln und alle Alben des zuvor angeklickten Interpreten anzeigen.
Das wollte ich folgendermaßen lösen:
Ich überschreibe die OnItemClick Methode von der Astists-ListView und führe dort dann einfach wieder eine SQL Abfrage durch, lade die Ergebnisse in einen ArrayAdapter und binde diesen an die Album-ListView.
Code des ArrayAdapters aus Artists-Listview:
Code:
cu.moveToFirst();
if (cu != null) {
if(cu.isFirst()) {
artists = new String[cu.getCount()];
for(int i = 0; i < cu.getCount() - 1; i++) {
artists[i] = cu.getString(ArtistsColumn);
if (cu.isLast() == false) {
cu.moveToNext();
}
}
}
}
ArrayAdapter<String> aa = new ArrayAdapter<String>(getApplicationContext(),
R.xml.simple_list_item_1,
artists);
artistslist.setAdapter(aa);
Code:
artistslist.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
...
int AlbumColumn = cu2.getColumnIndex("Album");
cu2.moveToFirst();
if (cu2 != null) {
if(cu2.isFirst()) {
albums = new String[cu2.getCount()];
for(int i = 0; i < cu2.getCount() - 1; i++) {
albums[i] = cu2.getString(AlbumColumn);
if (cu2.isLast() == false) {
cu2.moveToNext();
}
}
}
}
ArrayAdapter<String> aa2 = new ArrayAdapter<String>(getApplicationContext(),
R.xml.simple_list_item_1,
albums);
albumlist.setAdapter(aa2);
Mein Verdacht ist das getApplicationContext des zweiten Arrayadapters. Denn sobald ich den Adapter nicht setze, kann ich in Tab 2 springen.
Hoffentlich habt ihr ne Idee.. bin schon echt am Verzweifeln.
DANKE!!