2010-10-19 5 views
0

ne suis pas trop connu dans android et je suis juste en utilisant la TabActivity, alors s'il vous plaît ours avec moi. Je continue à voir le post de ne pas utiliser les activités dans Tabhost mais les vues. et je ne suis pas sûr de savoir lequel et si c'est la raison de mon dernier mal de tête? i ai un code à 4 onglets similaires à:léger malentendu avec tabActivity, vues et activité

// Category TabActivity class 
    tab.setContent(new Intent(this, Mylist.class)); 
    tab1.setContent(new Intent(this, Mylist.class)); 
    tab2.setContent(new Intent(this, Mylist.class)); 

et chaque patte est montrant le résultat d'un procédé à l'activité MyList.

  1. est-ce en utilisant une activité dans un onglet ou en affichant une vue? quelle est la différence?.

  2. J'ai un menu contextuel sur un élément sélectionné dans l'activité Mylist qui met à jour la liste. comment puis-je refléter les changements dans la liste à l'onglet dans l'autre pour afficher cette méthode particulière dans la classe Mylist, qui a été définie comme le contenu des onglets. Évidemment, cela va changer si j'ai mis à jour ou supprimé un élément de la liste lorsque l'onglet est affiché. Je pense que c'est possible avec onResume(), mais je ne sais pas quoi appeler là ou y at-il un meilleur moyen?

    dans la classe MyList, j'ai essayé ce petit morceau de code pour redémarrer le TabActivity:

    myAdapter.deleteItem (id);

     fillData(); // 
        Intent refereshCategory = new Intent(this, Category.class); 
         startActivity(refereshCategory); 
    

son redémarrage de l'activité après que l'élément a été supprimé, mais comment afficher uniquement l'onglet dont la vue était mise au point quand il redémarre et je ne veux pas la méthode fillData() à afficher car cela n'a rien à voir avec les onglets. J'espère que je me suis fait assez clair. Merci

Toute aide sera grandement appréciée. Merci pour votre temps.

+0

je peux être en mesure de aider plus si j'ai compris ce que vous essayez d'accomplir. D'après ce que j'ai lu, je pense que vous voulez juste supprimer un élément d'une liste, puis afficher la liste sans l'élément supprimé. Suis-je correct ou loin de la base? –

+0

oui .. quelque chose comme ça. mais à la place, les différents onglets montrent l'élément qui lui est associé. Comme si un onglet avait un tag "shopping", l'onglet ne devrait afficher que les éléments de la liste qui ont trait au shopping, et ainsi de suite. Cela peut être obtenu à partir de différentes méthodes dans la classe principale, mais mon problème est que lorsque je supprime un élément et appelle la liste pour se mettre à jour, l'onglet affiche tous les éléments de la liste, et non les éléments spécifiques associés. – irobotxxx

Répondre

0

Avec tab.setContent(new Intent(this, Mylist.class)); Vous demandez à l'application d'afficher une nouvelle activité MyList dans cet onglet. Je ne suis pas sûr du cycle de vie de l'activité pour les activités à onglets, mais je pense qu'il est prudent de supposer qu'ils suivent les mêmes normes que les activités régulières. onResume est appelé à chaque fois que l'activité est affichée (ce qui inclut le passage de l'activité d'un autre onglet à cette activité). Ainsi, toute sorte de vous mettre à jour voulez faire à la liste chaque fois qu'elle est montrée devrait aller ici et non pas dans onCreate(Bundle savedInstanceState)

Pour créer tout type d'application Android, vous devez vous familiariser avec le Component Lifecycle

+0

ok, merci. ce qui signifie qu'il n'affiche pas de vue. Comment puis-je afficher une vue alors. et aussi, est-ce que je n'appelle que la méthode demandée dans onResume ?. il ne semble pas fonctionner ou ai-je besoin d'écrire à nouveau ce petit morceau de code dans onResume pour obtenir un nouvel affichage? désolé pour toutes les questions .. Merci – irobotxxx

+0

J'ai édité ma question .. s'il vous plaît voir ci-dessus – irobotxxx

Questions connexes