Je dois tabulations, nouveaux et rapports. Dans l'onglet RAPPORTS, je crée un listview créé dynamiquement. Maintenant, les éléments de la liste listview sont extraits de la base de données. Ainsi, chaque fois que l'onglet RAPPORTS est chargé, les éléments de la liste listview doivent être extraits de la base de données au cas où il y aurait eu un changement dans les éléments de la liste. Si je mets tout cela dans l'onglet onCreate of REPORTS, tout fonctionne parfaitement. Mais si je passe à un autre onglet et que je repasse à l'onglet RAPPORTS, la liste est remplie mais la modification apportée dans la base de données dans les éléments de la liste n'est pas reflétée. Chaque fois que je reviens à l'onglet RAPPORTS, je dois obtenir les données actuelles de la base de données et les afficher dans la liste.création de contenu d'onglet sur demande dans les applications android
Donc, le problème est que je fais le remplissage de la liste dans onCreate, cela ne se produit qu'une seule fois. Après avoir regardé en ligne, j'ai trouvé le contenu de TabContentFactory(). Eh bien, je pensais que cela résoudrait mon problème. Voilà ce que je l'ai fait,
TabHost.TabSpec reportsSpec = tabHost.newTabSpec("reports").setIndicator("Reports")
.setContent(new TabHost.TabContentFactory(){
public View createTabContent(String tag) {
Context context = Main_screen.this;
ls1 = new ListView(Main_screen.this);
//populate m_data from the database
CustomAdapter adapter = new CustomAdapter(context, m_data);
ls1.setAdapter(adapter);
return ls1;}});
tabHost.addTab(reportsSpec);
Mais cela ne résout pas mon problème. Il semble que le code à l'intérieur de createTabContent soit exécuté uniquement lorsque l'onglet est créé et pas chaque fois que je passe à l'onglet RAPPORTS.
Est-ce que cela peut être fait? Pouvons-nous créer le contenu d'un onglet chaque fois que nous passons à l'onglet? S'il vous plaît aider. Toute aide est grandement appréciée.
sont vos onglets Vues ou activités différentes? si vues, pourquoi ne pas simplement adapter.notifyDataSetChanged() – jkhouw1
@ jkhouw1: les onglets sont des activités différentes. .notifyDataSetChanged() n'a fait aucune différence. – sherry