Estou com umas dúvidas e venho aqui tentar esclarecer qual a melhor maneira para proceder.
Tenho uma base de dados, com mais de uma tabela e cada tabela com várias colunas.
Neste momento, estou a fazer a query à bd através de uma função que devolve o cursor com essa query.
A nível de exemplo, algo como:
public Cursor getGroupData() { String[] colunas = new String[] {_ROWID, _NAME}; Cursor c = BaseDados.query(BD_TABLE, colunas, null, null, null, null, null); return c; }
Queria que desse resultado, um dos campos fosse utilizado numa listview. Tenho duas situações.
1ª Situação:
Tendo os resultados nessa listview, ao carregar numa das linhas, abre uma actividade.
2ª Situação:
Tendo os resultados nessa listview, ao carregar numa das linhas, é feita nova query à bd, devolvido novo cursor, apresentado numa nova listview e ao carregar numa das linhas abre uma actividade.
Aquilo que neste momento tenho feito para a primeira situação é algo como:
Cursor values = baseDados.getGroupData(); // Aqui provavelmente colocaria o código para percorrer o cursor, retirar os dados que pretendo mostrar na listview e armazená-los num ArrayList de Strings. ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Dados_extraídos_do_cursor); setListAdapter(adapter);Como para a primeira situação a posição da string no array pode ser usada não estou muito preocupado mas como posso fazer para a segunda situação?
O cursor vai devolver para cada registo vários campos, sendo que alguns desses campos podem ser usados para a segunda query que vai retornar os dados a apresentar na segunda listview.
Como recomendam que deva proceder?
Obrigado,
kodiak