Revenir sur la ListView d'un Tabhost

ciginfo

Well-Known Member
Licensed User
Longtime User
Bonjour,
Ci joint un fichier essai d'application
Dans l'application il y a un TabHost avec 3 onglets. A chaque onglet correspond un écran (ecran1, ecran2, ecran3).
Dans l'ecran2 il y a un ListView. Quand on clique sur un item du ListView cela va ouvrir un nouveau Layout (Layout2_bis). Dans ce nouveau Layout il y a un bouton nommé BtnBack destiné à revenir sur l'écran2 avec son ListView quand on clique dessus.
Impossible de revenir sur l'ecran2 avec son Listview, je ne trouve pas le code adapté, j'obtiens tout le temps ecran noir.
Merci de m'aider en regardant le fichier joint.

FD
 

Attachments

  • TestTabHostListView.zip
    8.5 KB · Views: 323

klaus

Expert
Licensed User
Longtime User
Ta manière de faire me parait très compliquée.
Dans ton projet final que veux-tu faire avec la slection dand la ListView ?
Car après avoir cliqué sur un élément de la ListView tu enlèves TOUT de l'Activity, donc y compris le TabHost. Et après avoir cliqué sur le bouton Back tu ne charges que le layout "Layout2" sur l'Activity ?!
Donc le TabHost est perdu!
Sans savoir ce que tu veix faire exactement il est difficile de te donner un conseil concret, car enlever toutes les Views et devoir regéner le tout après une sélection dans la ListView me parait compliqué et inefficace.

Meilleures salutations.
 
Upvote 0

ciginfo

Well-Known Member
Licensed User
Longtime User
En fait je voudrai garder le TabHost.
Le ListView est une sorte d'index où lorsque l'on clique sur un item on ouvre une page nouvelle dont les éléments (labels et imageViews) seront différents selon l'item cliqué mais il faut pouvoir revenir sur le ListView par un bouton Back pour pouvoir cliquer sur un autre item etc... Le TabHost peut rester, c'est préférable.

FD
 
Upvote 0

klaus

Expert
Licensed User
Longtime User
Ci-joint une solution avec un Panel supplémentaire pour afficher la sélection.
À toi d'adapter ce Panel à ta guise voir d'en ajouter d'autres en fonction des choix ou des besoins.

Meilleures salutations.
 

Attachments

  • TestTabHostListView1.zip
    8.5 KB · Views: 365
Upvote 0

ciginfo

Well-Known Member
Licensed User
Longtime User
Cette solution me convient bien, mais par ailleurs pourquoi dans l'exemple ci joint, lorsque je clique sur l'item 1 de l'écran2 puis je reviens sur le Listview1, je clique sur l'item 2 du meme ListView le string que j'inscris dans le label se superpose au premier string.
J'ai mis un label dans un scrollview car le texte qui sera dans mon appli sera long.

FD
 

Attachments

  • TabHostListView2.zip
    8.6 KB · Views: 303
Upvote 0

klaus

Expert
Licensed User
Longtime User
C'est normal, car dans la routine ListView1_ItemClick tu appelles chaque fois la routine FillScrollView1 qui ajoute à chaque appel un nouveau Label à la même place et ceux-ci se superposent donc et seul le dernier est reconnu.
En annexe une version corrigée.

Meilleures salutations.
 

Attachments

  • TabHostListView3.zip
    8.6 KB · Views: 372
Upvote 0
Top