2011-09-11 5 views
0

Mon application a actuellement une liste qui, lorsque cliqué ouvre une autre activité et enregistre l'information dans une base de données. Mon problème est que je voudrais créer un autre listview qui est au-dessus de la liste que j'ai déjà créé et quand on clique sur démarrer une nouvelle instance de la liste, mais comment puis-je aborder cela en utilisant SQLite? Est-ce que je crée une nouvelle base de données à chaque fois que l'on clique sur une ligne listview ?? Existe-t-il des exemples ou des conseils sur la façon de résoudre ce problème? J'ai cherché des jours.Android Listview ouverture d'un autre Listview ... SQLite

Vive

+0

Une base de données pour votre application suffit. Mais je ne comprends pas votre exigence. S'il vous plaît soyez plus précis. ListView ouvre les points ListView vers ExpandableListView mais ceci est simplement une supposition. –

+0

Ok, donc actuellement, une liste de lecture lorsque vous cliquez sur démarre une activité qui permet à l'utilisateur de la saisir puis la rattache à une ligne listview et crée une nouvelle ligne dans la table de base de données qui est bonne jusqu'à présent. Mais ce que je veux, c'est que tout ce qui précède soit attaché à une autre vue de liste afin que chaque rangée puisse commencer une nouvelle liste. – Mazz

Répondre

0

Découvrez ExapandableListView. Ce pourrait être ce que tu veux.

+0

Très similaire, mais je préfère plutôt montrer les enfants sous forme de listview extensible, montrez-les dans une liste séparée après avoir cliqué sur l'élément de la liste. Je sais comment réaliser ceci avec des vues de liste im juste ne sais pas comment aborder sauver les groupes/enfant dans la base de données? Devrais-je simplement ajouter toutes les entrées à la table dans ma base de données et filtrer les lignes en fonction du groupe que je voudrais montrer ou dois-je ajouter une table de base de données séparée à chaque liste? – Mazz

1

C'est ce que je l'ai fait pour le résoudre:

je ListView, avec un CustomAdapter, et sur la getView du customAdapter, j'ai quelque chose comme ceci:

LinearLayout list = (LinearLayout) myView.findViewById(R.id.list_musics); 
list.removeAllViews(); 

for (Music music : albums.get(position).musics) { 
    View line = li.inflate(R.layout.inside_row, null); 

    /* nested list's stuff */ 

    list.addView(line); 
} 

Ainsi, la reprise Il n'est pas possible d'imbriquer ListViews, mais vous pouvez créer une liste à l'intérieur d'une ligne à l'aide de LinearLayout et la remplir avec du code.