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 :

appeler onactivityresult() depuis asyntask


Sujet :

Android

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 262
    Points : 157
    Points
    157
    Par défaut appeler onactivityresult() depuis asyntask
    bonjour,

    en faite dans mon programme je dois utilister le classe asyntask pour faire des telechargements depuis internet.

    et dans une partie du code qui se trouve dans ma classe qui herite de asyntask je dois afficher une nouvelle fenetre qui demande à l'utilisateur de choisir un element d'une liste.

    le probleme que j'ai fait ce code dans cette classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Intent i = new Intent("action");
    startActivityForResult(i, 0);
    et du coup je dois implementer la methode onActivityResult mais je suis dans une classe qui etend de asyntask et pas dans une activity .
    comment je peux je peux resoudre ce probleme??

    et merci pour vos reponses.

  2. #2
    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
    Séparer la tâche en deux....

    Arrivé à ce bout du code, rendre la main à l'activité appelante (lors du onPostExecute), qui va lancer l'Intent, et attendre la réponse, puis lancer la deuxième partie de la tâche.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 262
    Points : 157
    Points
    157
    Par défaut
    merci nicroman ,
    bon le onPostExecute je sais comment faire mais pour revenir à executer la deuxieme tache
    est ce que je creé une nouvelle classe qui etend elle aussi de asyntask ? c'est la seul idée qui me vient dans la tête

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 262
    Points : 157
    Points
    157
    Par défaut
    voila nicroman
    j'ai essayé ce que vous m'avez dit j'ai mit le code dans le postexecute et ça fonctionne

    mais le probleme quand j'appele la nouvelle activity ça m'aafiche un fond blanc .

    cependant quand j'appelle d'autres activity çafonctionne voila mon code et le fichier manifest si vous pourrez jeter un coup d'oiel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    protected void onPostExecute(String result) {
    			// TODO Auto-generated method stub
    			super.onPostExecute(result);
     
    			try{
    				Toast.makeText(getBaseContext(), result, 1).show();
    				Intent i = new Intent();
    		     	i.setAction("android.intent.action.balbal");
    			 	startActivity(i);
    			}catch(Exception e){
    				Toast.makeText(getApplicationContext(), e.getMessage(), 1).show();
    			}
     
    		}

    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
    52
    53
    54
    55
    56
    57
    58
    59
     
     
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.driver_final"
        android:versionCode="1"
        android:versionName="1.0" >
     
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="17" />
     
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.BLUETOOTH" />
        <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.example.driver_final.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
     
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity
                android:name="com.example.driver_final.document"
                android:label="@string/app_name"
                android:screenOrientation="landscape" >
                <intent-filter>
                    <action android:name="android.intent.action.document" />
     
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
     
            </activity>
     
            <activity
                android:name="com.example.driver_final.deuxiemechoix"
                android:label="@string/deuxiemechoix"
                android:screenOrientation="landscape" >
                <intent-filter>
                    <action android:name="android.intent.action.balbal" />
     
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
     
            </activity>
     
    </application>
     
    </manifest>
    je vois pas d'ereur mais je sais pas peut etre y'en a.

    sachant que le code de cette activity qui me donne un fond blanc sa methode oncreate ça s'execute mais ça n'affiche pas le vrai layout, ça m'affiche juste un fond blanc


    merci

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 262
    Points : 157
    Points
    157
    Par défaut
    aprés plus d'une ereur de recher j'ai trouvé l'ereur et je savait que ça devait etre une bete ereur

    à la place que j'écrit ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     setContentView(R.layout.mamamia);
    j'avait ecrit ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     findviewbyid(R.layout.mamamia);
    vraiment n'importe quoi. merci nicroman pour ta reponse et à la prochaine fois.

Discussions similaires

  1. Appeler Scilab depuis Visual C++
    Par bassabo dans le forum Scilab
    Réponses: 1
    Dernier message: 20/05/2006, 17h22
  2. Réponses: 1
    Dernier message: 14/04/2006, 13h04
  3. [PERL et JAVA] Appeler PERL depuis JAVA
    Par krusty dans le forum Modules
    Réponses: 4
    Dernier message: 05/04/2006, 21h49
  4. Liveconnect avec Opera 8.5 (appel Java depuis JavaScript)
    Par Gregory3000 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/10/2005, 08h32
  5. Appels DCOM depuis une application Unix
    Par Dinaïz dans le forum Windows
    Réponses: 1
    Dernier message: 26/08/2005, 13h53

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