Autore Topic: problema visualizzazione oggetti con LISTVIEW  (Letto 897 volte)

Offline gbu123

  • Utente junior
  • **
  • Post: 74
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    windows 7
problema visualizzazione oggetti con LISTVIEW
« il: 14 Agosto 2012, 15:15:02 CEST »
0
ciao
sono nuovo dell'argomento , quindi scusatemi se non impreciso ;
vorrei :
-passare una arraylist di oggetti (listNegozi) da una main activity ad una activity secondaria (ListaVociNewAct) con un bottone,
  usando extend Parcelable
-l'activity secondaria ListaVociNewAct , prende l'arraylist di oggetti (listNegozi) e prepara una listview (listavocinew) da visualizzare

-ho definito il bottone sull'xml principale
-ho definito le activity nel Manifest
-l'arraylist di oggetti è così definito  :
        private ArrayList<Negozio> listNegozi;
   listNegozi = new ArrayList<Negozio>();
       listNegozi.add(new Negozio(1,"Bar da Mario", "Vicolo delle sorprese"));       
       listNegozi.add(new Negozio(2,"Bar da Gigi", "Vicolo delle cerbiatte"));
       listNegozi.add(new Negozio(3,"Bar da BuzziBuzzi", "Vicolo delle sorpresone"));
-ho definito la listview (listavocinew)
-ho definito la riga xml (rigasemplicenew) che riempirà la listavocinew , è costituita da 3 campi Textview

-ho definito la classe Negozio implements Parcelable :
public class Negozio implements Parcelable
{

       private int id1;
      private String insegna1;
      private String indirizzo1;
      
      //public Negozio(String insegna, String indirizzo)
      public Negozio(int id, String insegna, String indirizzo)
      {
         this.id1 = id;
         this.insegna1 = insegna;
         this.indirizzo1 = indirizzo;
      }
      
      public Negozio (Parcel p)
      {
         this.id1 = p.readInt();
         this.insegna1 = p.readString();
         this.indirizzo1 = p.readString();
      }

      //@Override
      public int describeContents()
      {
         // TODO Auto-generated method stub
         return 0;
      }
   
      public void writeToParcel(Parcel p, int flags)
      {
         p.writeInt(id1);
         p.writeString(insegna1);
         p.writeString(indirizzo1);    
      }
      
      public static final Parcelable.Creator CREATOR = new Parcelable.Creator()
      {
            public Negozio createFromParcel(Parcel in)
            {
            return new Negozio(in);
            }
            public Negozio[] newArray(int size)
            {
            return new Negozio[size];
            }
       };
   
}



-il main chiama l'activity secondaria così :
        public void chiama(View v) {
        Intent intchiama = new Intent(MainActivity.this, ListaVociNewAct.class);
        //intchiama.putExtra("listNegozi",listNegozi);
        intchiama.putParcelableArrayListExtra("listNegozi",listNegozi);
        MainActivity.this.startActivity(intchiama);
        }

-quando preparo l'activity ListaVociNewAct : 
public class ListaVociNewAct extends Activity {
   
    protected Context mContext;
    private ListView listav ;
    private ArrayAdapter<String> listAdapt ;
    private ArrayList<Negozio> listNegozi;
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.listavocinew );
        mContext = this;
       
        Intent intchiama = getIntent();
         //listNegozi = intchiama.getExtra.Parceable("listNegozi");
         listNegozi = intchiama.getParcelableArrayListExtra("listNegozi");
         //listNegozi = intchiama.getExtra("listNegozi");
       
         // Find the ListView resource.         
        listav = (ListView) findViewById(R.id.listavocinew);

          // Create ArrayAdapter using the planet list. 
        listAdapt = new ArrayAdapter<String>(this, android.R.layout.rigasemplicenew,  listNegozi); 
       
        // Set the ArrayAdapter as the ListView's adapter. 
        listav.setAdapter( listAdapt );           

       }

}


mi da errore : rigasemplicenew non può essere risolto o non è un campo

dove sbaglio ?
grazie , ciao
 


Offline mdb

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: +7
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    Prometheo Apps
  • Sistema operativo:
    Windows
Re:problema visualizzazione oggetti con LISTVIEW
« Risposta #1 il: 14 Agosto 2012, 15:42:49 CEST »
0
non è
android.R.layout.rigasemplicenew
ma
R.layout.rigasemplicenew
 :-)
App per Android:
Almanacco: Giorno per giorno, eventi, notizie, giochi e curiosità, da leggere e condividere
Proverbi Napoletani: Più di 50 proverbi da ascoltare in dialetto napoletano. Due sottofondi musicali.

Offline gbu123

  • Utente junior
  • **
  • Post: 74
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    windows 7
Re:problema visualizzazione oggetti con LISTVIEW
« Risposta #2 il: 15 Agosto 2012, 15:22:43 CEST »
0
grazie , in effetti è così ;
ho corretto però ora mi dice :
il costruttore ArrayAdapter<String>(ListaVociNewAct,int,ArrayList<Negozio>) non è definito ;
remover argument to match 'ArrayAdapter<Strig> (Content,int)'

in effetti non capisco questo : 
io voglio passara un ArrayList di oggetti con la tecnica Parcelable , però l'oggetto che
estende l'interfaccia Parcelable fa riferimento ai campi del singolo oggetto , non all'ArrayList
di oggetti ; mi sembra che non possa funzionare , o sbaglio ;
grazir
ciao
 

Offline mdb

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: +7
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    Prometheo Apps
  • Sistema operativo:
    Windows
Re:problema visualizzazione oggetti con LISTVIEW
« Risposta #3 il: 15 Agosto 2012, 15:50:30 CEST »
0
se indichi ArrayAdapter<String> lui si aspetta un array di String
devi usare ArrayAdapter<Negozio>
 ;-)
App per Android:
Almanacco: Giorno per giorno, eventi, notizie, giochi e curiosità, da leggere e condividere
Proverbi Napoletani: Più di 50 proverbi da ascoltare in dialetto napoletano. Due sottofondi musicali.

Offline gbu123

  • Utente junior
  • **
  • Post: 74
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    windows 7
Re:problema visualizzazione oggetti con LISTVIEW
« Risposta #4 il: 16 Agosto 2012, 10:17:48 CEST »
0
grazie , ho corretto e l'errore è scomparso
grazie mille