CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: megthebest con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: megthebest con ben 4 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 21 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 4 su 4
Discussione:

Comunicazione tra Activity

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jun 2010
    Messaggi
    3

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Question

    Comunicazione tra Activity

    Ciao Androidiani,

    sono agli inizi con android, forse la domanda è stupida, comunque,
    ho un'activity dove farò delle scelte e mi verrà popolata una classe(fino qui nessun problema), queste informazioni devo inviarle ad una seconda activity che mi elaborerà queste informazioni.
    Come si fà?

    Grazie in anticipo!

  2.  
  3. #2
    Shu
    Shu non è in linea
    Androidiano


    Registrato dal
    Aug 2009
    Messaggi
    158

    Ringraziamenti
    6
    Ringraziato 17 volte in 13 Posts
    Predefinito

    Per lanciare un'altra Activity devi usare un Intent.
    Quando hai creato l'intent, prima dello startActivity, puoi usare putExtra per impostare dei dati.
    Nell'Activity che viene lanciata puoi usare getIntent().get*Extra() per estrapolare i dati (L'asterisco perché dipende da cosa vuoi prendere, per esempio getStringExtra, getIntExtra, ecc.)

    Spiegare tutto è un po' lungo, ma credo di averti dato un po' di puntatori da cercare nella documentazione e nei manuali.

    Bye.

  4. Il seguente Utente ha ringraziato Shu per il post:

    nocomment17 (12-08-10)

  5. #3
    Baby Droid


    Registrato dal
    Sep 2010
    Messaggi
    7

    Ringraziamenti
    3
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Come si fà a scambiare ArrayList<TipoMio> dall Screen1.java dove lo creo e lo popolo a Screen2.java dove vorrei far vedere dei campi in una textview?

    Io sto provando con putParcelableArrayListExtra e getParcelableArrayListExtra
    ma nella seconda Activity(Screen2) i valori nell array sono tutti a null?



    Il mio tipo di dato InfoTraffico :
     
    1
    2
    3
    4
    5
    public class InfoTraffico implements Parcelable {
    6
        
    7
        /**
    8
         * 
    9
         */
    10
        private static final long serialVersionUID = 1L;
    11
        /**
    12
         * 
    13
         */
    14
        
    15
        /**
    16
         * 
    17
         */
    18
        
    19
        int id ;
    20
        String <acronym title="Page Ranking">pr</acronym>;
    21
        String iniziotratto;
    22
        String finetratto;
    23
        String stato;
    24
        int photoRes;
    25
        String orario; 
    26
        Date gg;
    27
        
    28
    public InfoTraffico(int id, String <acronym title="Page Ranking">pr</acronym>, String iniziotratto,String finetratto, String stato, int photoRes, String orario) {
    29
        super();
    30
        this.id = id ;
    31
        this.<acronym title="Page Ranking">pr</acronym> = <acronym title="Page Ranking">pr</acronym> ;
    32
        this.iniziotratto = iniziotratto;
    33
        this.finetratto = finetratto;
    34
        this.stato = stato;
    35
        this.photoRes = photoRes;
    36
        this.orario= orario;
    37
        
    38
        
    39
    }
    40
    41
    public InfoTraffico(int id, String <acronym title="Page Ranking">pr</acronym>,String iniziotratto,String finetratto, String stato, int photoRes, String orario,Date gg) {
    42
        super();
    43
        this.id = id ;
    44
        this.<acronym title="Page Ranking">pr</acronym> = <acronym title="Page Ranking">pr</acronym> ;
    45
        this.iniziotratto = iniziotratto;
    46
        this.finetratto = finetratto;
    47
        this.stato = stato;
    48
        this.photoRes = photoRes;
    49
        this.orario= orario;
    50
        this.gg=gg;
    51
        
    52
        
    53
    }
    54
    55
    public InfoTraffico(String iniziotratto,String finetratto, String stato) {
    56
        super();
    57
        this.iniziotratto = iniziotratto;
    58
        this.finetratto = finetratto;
    59
        this.stato = stato;
    60
        
    61
    }
    62
    63
    64
    public String GetOrario(){
    65
        return orario;
    66
    } 
    67
        public int GetId(){
    68
            return id;
    69
        }
    70
        
    71
        public String GetPr(){
    72
            return <acronym title="Page Ranking">pr</acronym>;
    73
        }
    74
        
    75
        public String GetInizioTratto(){
    76
            return iniziotratto;
    77
        }
    78
        
    79
        public String GetFineTratto(){
    80
            return finetratto;}
    81
        
    82
        
    83
        public String GetStato(){
    84
            return stato;
    85
        }
    86
        
    87
        public int GetPhotoRes() {
    88
            return photoRes;
    89
        }
    90
    91
    92
    93
        @SuppressWarnings({ "rawtypes" })
    94
        public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
    95
                public InfoTraffico createFromParcel(Parcel in) {
    96
                        return new InfoTraffico(in);
    97
                }
    98
    99
                public Object[] newArray(int arg0) {
    100
                        return null;
    101
                }
    102
    103
        };
    104
    105
    public InfoTraffico(){}
    106
        
    107
        
    108
        public InfoTraffico(Parcel in) {
    109
         
    110
            
    111
    }
    112
    113
        @Override
    114
        public int describeContents() {
    115
            
    116
            return 0;
    117
        }
    118
    119
        @Override
    120
        public void writeToParcel(Parcel dest, int flags) {
    121
            // TODO Auto-generated method stub
    122
            
    123
        }
    124
    125
    126
    127



    Classe dove creo e popolo l array di Infotraffico :
    39
     
    1
    2
    package com.android.andrea;
    3
    4
    import java.util.ArrayList;
    5
    6
    7
    public class StrutturaDati {
    8
        
    9
        /**
    10
         * 
    11
         */
    12
        ArrayList<InfoTraffico> List ;
    13
        
    14
        public StrutturaDati(){
    15
            
    16
            List = new ArrayList<InfoTraffico>();
    17
        }
    18
        
    19
        
    20
        public ArrayList<InfoTraffico> riempi(){
    21
        InfoTraffico[] elenco = {
    22
                new InfoTraffico(1, "a", "Uscita 1 " ,"Uscita 3",     "Regolare", R.drawable.creep_5, "10:20"),
    23
                new InfoTraffico(3, "b", "Uscita 15 ","Uscita 18",    "Rallentato", R.drawable.creep_4, "11:20"),
    24
                new InfoTraffico(3, "b", "Uscita 19 ","Uscita 20",    "Difficoltoso", R.drawable.creep_3, "12:20"),
    25
                new InfoTraffico(3, "c", "Uscita 22 ","Uscita 24",    "Code", R.drawable.creep_2, "10:24"),
    26
                new InfoTraffico(3, "d", "Uscita 27 ","Uscita 28",    "Critico", R.drawable.creep_1, "12:40"),
    27
                new InfoTraffico(4, "a", "Uscita 30 ","Uscita 32",    "Regolare", R.drawable.creep_5, "9:20"),
    28
                new InfoTraffico(2, "d", "Uscita 33 ","Uscita 1",     "Critico", R.drawable.creep_1, "15:00")
    29
                };
    30
                
    31
        for (int i = 0 ; i< elenco.length ; i++){
    32
                List.add(elenco[i]);}
    33
    34
    35
            return List;
    36
    37
        }
    38
    39



    Screen1 :

    31
     
    1
    2
    import java.util.ArrayList;
    3
    4
    import android.app.Activity;
    5
    import android.content.Intent;
    6
    import android.os.Bundle;
    7
    import android.os.Parcelable;
    8
    9
    public class prova extends Activity {
    10
        /** Called when the activity is first created. */
    11
        
    12
        public ArrayList<InfoTraffico> List;
    13
        
    14
        @Override
    15
        public void onCreate(Bundle savedInstanceState) {
    16
            super.onCreate(savedInstanceState);
    17
            setContentView(R.layout.main);
    18
            
    19
            StrutturaDati vettoreinfo = new StrutturaDati();
    20
            List= vettoreinfo.riempi();
    21
      
    22
        Intent i = new Intent(getApplicationContext(), screen2.class);
    23
        
    24
           i.putParcelableArrayListExtra("cazzo", (ArrayList<? extends Parcelable>) List);
    25
        startActivity(i);
    26
        
    27
        
    28
        }
    29
                }
    30
    31



    Screen2:

    38
     
    1
    2
    package com.android.andrea;
    3
    4
    import java.util.ArrayList;
    5
    import android.app.Activity;
    6
    import android.content.Intent;
    7
    import android.os.Bundle;
    8
    import android.util.Log;
    9
    import android.widget.TextView;
    10
    11
    public class screen2 extends Activity {
    12
        /** Called when the activity is first created. */
    13
        @Override
    14
        public void onCreate(Bundle savedInstanceState) {
    15
            super.onCreate(savedInstanceState);
    16
            setContentView(R.layout.main);
    17
        
    18
        TextView tv = (TextView)findViewById(R.id.tv);
    19
        Intent i= new Intent();
    20
            i=this.getIntent(); // l'intent di questa activity
    21
        
    22
        Log.d("Screen2", "Prima di getSerializable");
    23
        
    24
        ArrayList<InfoTraffico> s =  i.getParcelableArrayListExtra("cazzo");
    25
        InfoTraffico a = s.get(0);
    26
        String stato = a.GetStato();
    27
        String itratto = a.GetInizioTratto();
    28
        String ftratto = a.GetFineTratto();
    29
        
    30
        
    31
        tv.append("PROVA:" + stato + itratto + ftratto +"\n");
    32
    33
        
    34
        }
    35
    }
    36
    37
    38


    Nella textview della screen2 non c' è niente quando invece dovrebbero esserci le info relative alla prima informazione inserita quind : Regolare Uscita 1 Uscita3

  6. #4
    Androidiano


    Registrato dal
    Apr 2010
    Messaggi
    126
    Smartphone
    Samsung Galaxy Nexus

    Ringraziamenti
    5
    Ringraziato 11 volte in 11 Posts
    Predefinito

    tv.setText("la tua stringa");

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy