2013-05-20 5 views
0

Je travaille actuellement sur une application Android avec deux fragments à onglets. Un fragment consiste en une liste pré-remplie dans une liste. L'autre contient une liste dynamique à afficher dans une liste.problèmes rafraîchissant android listview

Je veux remplir la liste sur le second fragment à partir des éléments de liste du premier fragment.

Le problème
1) Le ListView sur le fragment 2 ne remplit pas moins que l'adaptateur sous-jacent est initialisé par une liste fictive.

2) Les modifications sur ListView ne sont pas instantanées. Si je supprime un élément de liste de la liste, l'élément apparaît toujours dans le ListView sur le fragment 2. Mais si je bascule entre les onglets, je vois la liste désirée.

Voici le code:

Fragment 2

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstance) { 
//  listEntries = new ArrayList<InterimOrderEntry>(0); 
     listEntries = DummyListData.getOrder(); 

     view = (ListView)inflater.inflate(R.layout.fragment2, container, false); 
     ListAdapter2 listAdapter2 = new ListAdapter2(orderEntries, getLayoutInflater(savedInstance), container); 
     view.setAdapter(listAdapter2); 

     return view; 
    } 

ListAdapter1

private void addToList2(String itemName, int quantity, int itemImageId, Context context){ 
     ListEntry listEntry = new ListEntry(itemName, quantity, itemImageId); 
     listEntries.clear(); 
     listEntries.addAll(LisAdapter2.getOrderEntries()); 
     listEntries.add(orderEntry); 

     new ListAdapter2().refreshListEntries(listEntries); 
    } 

ListAdapter2

private static List<ListEntry> listEntries; 
public void refreshListEntries(List<ListEntry> newListEntries){ 
     listEntries.clear(); 
     listEntries.addAll(newListEntries); 
     this.notifyDataSetChanged(); 

    } 

J'apprécierais toute aide!

Répondre