Rafraîchir la "page"

Le problème exposé dans ce sujet a été résolu.

Bonsoir ! :)

EDIT : En fait c’était la fonction ligne 62 qui n’était pas appelée. :p Problème résolu. :)

Je suis en train de créer une petite application pour m’entraîner sur Android Studio, mais je bloque depuis plus de deux heures et je ne trouve toujours pas sur internet de solution.

J'essaye de trouver un moyen de rafraichir mon "Activity". En effet, dans mon App, lorsque je clique sur un bouton, je dois ajouter du contenu dans un "TabSpec".

J'ai donc le code suivant :

 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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
public void rechercheTerminee(String result) {
        try {
            TabAnneeContent tabAnneeContent = new TabAnneeContent();

            // Récupération des données
            JSONObject jsonObject = new JSONObject(result);
            JSONArray jsonArray = jsonObject.getJSONArray("results");

            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject film = jsonArray.getJSONObject(i);
                String titreFilm = film.getString("original_title");

                // Création du View du titre du film
                tabAnneeContent.addMovie(titreFilm);
            }

            tabAnnee.setContent(tabAnneeContent); // tabAnnee est un TabSpec
            tabHost.invalidate();
            tabHost.setup();

            progressDialog.hide();
        } catch (JSONException e) {
            progressDialog.hide();
            e.printStackTrace();
            showDialogBox("Erreur", "Erreur interne.");
        }
    }


private class TabAnneeContent implements TabHost.TabContentFactory {

        private ScrollView scrollView;
        private LinearLayout linearLayout;

        public TabAnneeContent() {
            // Création du Tab
            scrollView = new ScrollView(FilmsPopulairesActivity.this);
            scrollView.setLayoutParams(new ScrollView.LayoutParams(ScrollView.LayoutParams.WRAP_CONTENT, ScrollView.LayoutParams.WRAP_CONTENT));

            linearLayout = new LinearLayout(FilmsPopulairesActivity.this);
            linearLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
            linearLayout.setOrientation(LinearLayout.VERTICAL);

            scrollView.addView(linearLayout);
        }

        public void addMovie(String name) {
            RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
            layoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL);

            TextView nameTextView = new TextView(FilmsPopulairesActivity.this);
            nameTextView.setLayoutParams(layoutParams);
            nameTextView.setText(name);

            linearLayout.addView(nameTextView);

            linearLayout.invalidate();
            scrollView.invalidate();
        }

        @Override
        public View createTabContent(String tag) { // Appelée lors de "tabAnnee.setContent(tabAnneeContent);"
            return scrollView;
        }
    }

Quand je clique sur mon bouton, ça effectue une recherche puis la fonction "rechercheTerminee" est appelée.

J'appel ensuite la fonction "setContent" de mon TabSped "tabAnnee" pour changer son contenu, mais cela ne fonctionne pas. Son contenu n'est pas changé.

Je pense qu'il faut rafraîchir tout ça, mais j'ai beau essayer à coup de "invalidate()", pas moyen… :(

Pouvez-vous m'aider ?

Merci ! :)

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte