IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème classe imbriquée


Sujet :

Android

  1. #1
    Membre du Club
    Homme Profil pro
    Cisco
    Inscrit en
    Juillet 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Cisco
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 71
    Points : 55
    Points
    55
    Par défaut Problème classe imbriquée
    Bonjour a toutes et a tous,

    je post ici car j'ai une petite question.

    J'ai une classe TabNewsActivity qui etend d'Activity

    Cette classe TabNewsActivity contient une classe imbriquee : DownloadData qui etend d' AsyncTask<Void, Integer, ArrayList<HashMap<String, String>>>


    Cette classe TabNewsActivity affiche les donnees recuperees de mon web service, DownloadData est une tache asynchrone qui me permet de recuperer les valeurs de mon web service dans une Liste.

    Pour effectuer une Actualisation des valeurs (dans mon appli => refresh) je dois faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DownloadData().execute();
    Mais je ne peux pas le faire en dehors de mon context TabNewsActivity :s

    J'aimerais avoir un moyen de re executer cette commande mais dans un autre onglet par exemple.

    Merci de votre aide
      0  0

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Fais-en une vraie classe au lieu d'en faire une interne ?

    Fais en sorte que le constructeur prenne un Context en argument, mets-le en argument, et le tour est joué.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android
      0  0

  3. #3
    Membre du Club
    Homme Profil pro
    Cisco
    Inscrit en
    Juillet 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Cisco
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 71
    Points : 55
    Points
    55
    Par défaut
    Oui mais dans DownloadData j'utilise pas mal de variables de ma classe TabNewsActivity , tu crois qu'en passant que le contexte les variables seront reconnues ?
      0  0

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Ok, donc tu as un problème de couplage fort en prime.

    Question directe : comment veux-tu pouvoir utiliser cette classe indépendamment si elle n'est pas indépendante d'une autre classe ?

    Si tu veux l'utiliser dans un autre onglet, il ne faut pas qu'elle utilise de variables, méthodes ... propres à TabNewsActivity.

    Pour répondre à ta question : non.

    Ce que tu dois faire : découpler tes classes.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android
      0  0

  5. #5
    Membre du Club
    Homme Profil pro
    Cisco
    Inscrit en
    Juillet 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Cisco
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 71
    Points : 55
    Points
    55
    Par défaut
    Voila pourquoi je post..

    Dommage alors.
    Merci pour tes reponses rapides.
      0  0

  6. #6
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    On aurait un peut de code, on pourrait certainement t'aider à découper (découpler) les classes....

    La sans rien, c'est un peu difficile....
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout
      0  0

  7. #7
    Membre du Club
    Homme Profil pro
    Cisco
    Inscrit en
    Juillet 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Cisco
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 71
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    Je me pose actuellement le problème suivant:

    J'ai une classe DownloadDataNews étant une Asynctask et qui recupere mes donnees depuis mon web service:

    Voici ma classe TabNewsJSONParsingActivity qui s'occupe d'afficher sous forme de liste les donnees que je recois de mon DownloadDataNews.


    Le soucis viens maintenant du fait que quand je suis dans une autre Activity , je dois passer en argument a DownloadDataNews : "this"
    => new DownloadData(this).execute();

    Mais le "this" correspond a l'endroit ou je l'execute et ceci n'est pas reporte sur ma vue TabNewsJSONParsingActivity ..
    Il faudrait que je puisse faire un appel a la référence du context TabNewsJSONParsingActivity comme ceci:
    => new DownloadData(ContextReferenceToTabNewsJSONParsingActivity).execute;

    Merci de m'aiguiller,

    voici par exemple l'activite ou j'aimerais appeler DownloadDataNews :

    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
    import com.dev.prixo.SQLite.UserBDD;
    import com.dev.prixo.model.User;
     
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.preference.PreferenceActivity;
    import android.preference.PreferenceManager;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.Toast;
     
    public class PrefsPromoFilter extends PreferenceActivity
    {
    	@Override
    	protected void onCreate(Bundle savedInstanceState) 
    	{
    		super.onCreate(savedInstanceState);
    		addPreferencesFromResource(R.layout.promotions_filter);
    	}
     
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) 
    	{
    		getMenuInflater().inflate(R.layout.menu_promotion_categories, menu);
    		return super.onCreateOptionsMenu(menu);
    	}
     
    	@Override
    	public boolean onOptionsItemSelected(MenuItem item) 
    	{
    		if(item.getItemId() == R.id.itemSauver) 
    		{
     
    			setResult(RESULT_OK);
    			new DownloadDataPromotions(this).execute(); ???
    			finish();
    			Toast.makeText(this, "Filtre Sauvegardé", Toast.LENGTH_SHORT).show();
    		}
    		return super.onOptionsItemSelected(item);
    	}
     
    	@Override
    	public void onBackPressed() 
    	{
    		putPreferencesOnDataBase();
    		setResult(RESULT_OK);
    		new DownloadDataPromotions(this).execute(); ???
    		super.onBackPressed();
    	}
    }
      0  0

  8. #8
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Haaa ben zut... j'ai répondu dans l'autre thread déjà....

    Bon... je ferme celui-ci ?
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout
      0  0

  9. #9
    Membre du Club
    Homme Profil pro
    Cisco
    Inscrit en
    Juillet 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Cisco
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 71
    Points : 55
    Points
    55
    Par défaut
    oui
      0  0

Discussions similaires

  1. [Débutant] Visual Studio 2010 (VB) - Problème de classes imbriquées
    Par patrickvier dans le forum VB.NET
    Réponses: 5
    Dernier message: 21/09/2012, 12h15
  2. Réponses: 11
    Dernier message: 11/03/2011, 10h36
  3. Class imbriqué : problème de delete
    Par Anium dans le forum C++
    Réponses: 10
    Dernier message: 18/01/2008, 20h28
  4. Intérêt des classes imbriquées ?
    Par elitost dans le forum Langage
    Réponses: 5
    Dernier message: 21/10/2005, 09h30
  5. problème classe et fonction
    Par zmatz dans le forum C++
    Réponses: 14
    Dernier message: 19/10/2005, 21h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo