2013-02-25 2 views
0

Par exemple, si j'ai une classe:Populate ListView avec ArrayAdapter et naviguer

class Folder { 
    public String name; 
    public ArrayList<Folder> subFolders; 
    public ArrayList<Folder> subFolders; 
} 

Je suis en train de remplir ListView avec la coutume ArrayAdapter puis naviguer dans ce ArrayList « Dossiers » qui est rempli de données. J'essaie quelque chose comme ça pour montrer subFolders:

private OnItemClickListener listlistener = new OnItemClickListener() { 

    @Override 
    public void onItemClick(int position, long arg3) { 
     currentFolder = (Category) parent.getItemAtPosition(position); 
     folders = currentFolder.subFolders; 
     folderAdapter.notifyDataSetChanged(); 
    } 
}; 

Mais cela ne fonctionne pas. Y a-t-il des suggestions pour aider à résoudre ce problème?

Répondre

0

Dans votre mesure ArrayAdapter créer une méthode publique

public void setList(List<Item> items){ 
    this.items = items; 
} 

et maintenant

private OnItemClickListener listlistener = new OnItemClickListener() { 

    @Override 
    public void onItemClick(int position, long arg3) { 

     currentFolder = (Category) parent.getItemAtPosition(position); 

     folders = currentFolder.subFolders; 
     folderAdapter.setList(folders); 
     folderAdapter.notifyDataSetChanged(); 

    } 
}; 
+0

quand je fais ainsi ancien objet séjour dans le 'listView' – pepela

+0

comment gérer avec' getView() ' méthode pour afficher de nouvelles données? – pepela

Questions connexes