Bonjour,
Ayant du mal à formuler courtement mon problème, je n'arrive pas à trouver d'éventuelles solutions sur internet.
Pour faire court, j'ai dans mon activité, entre autre, une tabhost contenant 4 onglets et divers autres layouts.
L'activité doit permettre à l'utilisateur de changer le contenu des onglets lorsqu'il sélectionne un bouton. Par exemple, s'il appuie sur le bouton "voiture", les onglets (vidéo, html et Unity) doivent afficher des informations relatives à la voiture. S'il clique sur le bouton "camion", les onglets doivent se mettre à jour et leurs contenus doivent être changés.
Actuellement, mon code appelé à chaque pression de bouton est celui-ci :
Le code s'adapte correctement au contenu (s'il n'y a pas de vidéo à diffuser, l'onglet correspondant n'est pas crée), mais le contenu de ceux-ci ne se rafraichit pas correctement (notamment pour la vidéo et l'html).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 public void createTab() { //TODO PIERRE : définisse l'information à transmettre à Unity. String htmlFile = currentAction.getHtmlFile(); String videoFile = currentAction.getVideoFile(); String poste3DFile = currentAction.getUnityFile(); String element3DFile = currentAction.getImageFile(); tabHost = getTabHost(); // tabHost.setup(); tabHost.clearAllTabs(); Intent intent; if (!element3DFile.equals("null")) { intent = new Intent(this, ImageTabActivity.class); intent.putExtra("valeur", element3DFile); tabSpec = tabHost .newTabSpec("un") .setIndicator("Poste 3D", getResources().getDrawable(R.drawable.home)) .setContent(intent); tabHost.addTab(tabSpec); } if (!poste3DFile.equals("null")) { intent = new Intent(this, UnityTabActivity.class); intent.putExtra("valeur", poste3DFile); tabSpec = tabHost.newTabSpec("deux").setIndicator("Element 3D") .setContent(intent); tabHost.addTab(tabSpec); } if (!videoFile.equals("null")) { intent = new Intent(this, VideoTabActivity.class); intent.putExtra("valeur", videoFile); tabSpec = tabHost.newTabSpec("trois").setIndicator("Video") .setContent(intent); tabHost.addTab(tabSpec); } if (!htmlFile.equals("null")) { intent = new Intent(this, HTMLTabActivity.class); intent.putExtra("valeur", htmlFile); tabSpec = tabHost.newTabSpec("quatre").setIndicator("Description") .setContent(intent); tabHost.addTab(tabSpec); } getTabHost().invalidate(); }
Est-il possible de faire ce genre de chose?
Je précise, au cas où, que j'utilise une tabActivity (pas le temps de me former aux fragments), que je dispose bien d'un layout et d'une activité par onglet.
Merci !
Partager