Autore Topic: Problema di settaggio immagini e dati contenuti in una CLASSE  (Letto 823 volte)

Offline LucaP84

  • Utente junior
  • **
  • Post: 50
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Seven
Problema di settaggio immagini e dati contenuti in una CLASSE
« il: 17 Ottobre 2012, 16:59:44 CEST »
0
Ciao a tutti, sto sviluppando l'ultimo pezzo della mia tesi ma ho un problema, ho creato la una classe Prodotto che contiene per ogni prodotto i seguenti dati ( id, nome, descrizione e Image), che vengono visualizzate a griglia nell' Activity Main. Ogni volta l'utente clicca su un immagine si apre una pagina contenete la foto ingrandita con tutti i dati relativi.

Primo problema: mi escono tutti i campi vuoti, ovvero selezionando un colore, non si sette l'immagine e tutti i dati relativi.!
Dove sbaglio ???
Vi allego le classi, sperando che qualcuno riesce a darmi una mano. Grazie

DBProduct.java - Classe contente i dettagli dei prodotti.
Codice (Java): [Seleziona]
package com.example.androidhive;

import android.R.integer;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class DBProduct extends BaseAdapter {
       
        private Context mContext;
       
        //***
                private String id, nome, descrizione, value;
                private Integer image;
       
        // Constructor
        public DBProduct(Context c){
                mContext = c;
        }

        public DBProduct(String id, String nome, String descrizione, Integer image){
                super();
                this.id = id;
                this.nome = nome;
                this.descrizione = descrizione;
                this.image = image;
        }
       

       
        public String getId(){
                return id;
        }
       
        public String getNome(){
                return nome;
        }

        public String getDesc(){
                return descrizione;
        }

        public String getValue() {
                return value;
        }

        public Integer getImage() {
                return image;
        }

       
        @Override
        public int getCount() {
                return DatabaseColor.length;
        }

        @Override
        public Object getItem(int position) {
                return DatabaseColor[position];
        }

        @Override
        public long getItemId(int position) {
                return 0;
        }


       
       
        public static final DBProduct[] DatabaseColor = new DBProduct[] {
               
        new DBProduct("0000", "Pippo", "Welcome to Products" , R.raw.color_0),
        new DBProduct("0001", "Nero", "Descrizione prodotto 1", R.raw.color_1),
        new DBProduct("0010", "Rosso", "Descrizione prodotto 2", R.raw.color_2),
        new DBProduct("0011", "Blu", "Descrizione prodotto 3", R.raw.color_3),
        new DBProduct("0100", "Giallo", "Descrizione prodotto 4",R.raw.color_4),
        new DBProduct("0101", "Verde", "Descrizione prodotto 5",R.raw.color_5)
        };
       
       
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
                DBProduct d = DatabaseColor[position];
               
                ImageView imageView = new ImageView(mContext);
        imageView.setImageResource(d.getImage());
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setLayoutParams(new GridView.LayoutParams(70, 70));
        return imageView;
        }

} //end Class

La Classe ShowProduct.java( mostra i dettagli del prodotto selezionato)
Codice (Java): [Seleziona]
package com.example.androidhive;





import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class ShowProduct extends Activity {
       
        TextView textCodice, textProdotto, textDescrizione, textQuantity;
        Button button1, button2;
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                //setContentView(R.layout.full_image);
                //setContentView(R.layout.full_image);
                setContentView(R.layout.show_product_forum);
               
                // get intent data
                Intent i = getIntent();
               
                // Selected image id
                int position = i.getExtras().getInt("id");
               
               
                        textCodice = (TextView)findViewById( R.id.code);
                textProdotto = (TextView)findViewById( R.id.NomeProdotto);
                textDescrizione = (TextView)findViewById( R.id.Descrizione);
                //textQuantity = (TextView)findViewById( R.id.amount);
               
                button1 = (Button)findViewById(R.id.button1);
                button2 = (Button)findViewById(R.id.button2);
               
                //ImageAdapter imageAdapter = new ImageAdapter(this);
               
                DBProduct dbP = new DBProduct(this);
               
                // ORI
                //ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
                //imageView.setImageResource(imageAdapter.mThumbIds[position]); // old
                //imageView.setImageResource(dbP.DatabaseColor[position]); // old
               
                //img
                ImageView imageView = (ImageView) findViewById(R.id.imageView);
               
                textCodice.setText(dbP.getId());
                textProdotto.setText(dbP.getNome());
                textDescrizione.setText(dbP.getDesc());
                //textQuantity.setText( dbP.getValue() );
        }

}



La Classe MainActivity (anche che poi verrà invocata diversamente)
Codice (Java): [Seleziona]
package com.example.androidhive;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;

public class MainActivity extends Activity {
       
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.grid_layout);

                GridView gridView = (GridView) findViewById(R.id.grid_view);
               
                // Instance of ShowProduct Class
               
                gridView.setAdapter(new DBProduct(this));
               

                /**
                 * On Click event for Single Gridview Item
                 * */

                gridView.setOnItemClickListener(new OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                               
                                // Sending image id to FullScreenActivity
                                Intent i = new Intent(getApplicationContext(), ShowProduct.class);
                                // passing array index
                                i.putExtra("id", position);
                                startActivity(i);
                        }
                });
        }
}


Vi allego pure un immagine.
Se qualcuno mi aiuta a capire dove sbaglio, sicuramente non passo i parametri giusti alla Classe oppure dichiaro male i metodi.




Grazie a tutti
Luca

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Problema di settaggio immagini e dati contenuti in una CLASSE
« Risposta #1 il: 17 Ottobre 2012, 17:48:14 CEST »
0
Basterebbe un giro di debug per vedere dove sta il problema... io ti faccio solo una domanda: che te ne fai di position in ShowProduct?

Offline LucaP84

  • Utente junior
  • **
  • Post: 50
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Seven
Re:Problema di settaggio immagini e dati contenuti in una CLASSE
« Risposta #2 il: 17 Ottobre 2012, 18:22:23 CEST »
0
Ciao il position che dici tu è messo tra // perchè lo avevo usato come test, se metto solo una griglia di immagini e creo un array di sole immagini con position setto l'img come anteprima, ma adesso mettendo tutto in una classe che posso così chiamarla da diversi punti dell'APP non va più :-)

Quello che voglio realizzare è un catalogo che mostra delle immagini se clicco su una di esse vengono mostrati i dettagli FOTO GRANDE ed una descrizione.
Il punto due è ritornare la posizione dell'immagine per fare dell'image processing, ma questo è uguale a farla apparire nell'activity come FOTO GRANDE.

Grazie Luca  :-)

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Problema di settaggio immagini e dati contenuti in una CLASSE
« Risposta #3 il: 17 Ottobre 2012, 18:24:15 CEST »
0
Ma se non usi position come fai a capire dentro l'activity quale elemento della lista hai cliccato?

Offline LucaP84

  • Utente junior
  • **
  • Post: 50
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Seven
Re:Problema di settaggio immagini e dati contenuti in una CLASSE
« Risposta #4 il: 17 Ottobre 2012, 18:38:52 CEST »
0
imageView.setImageResource(dbP.DatabaseColor[position]); mi da errore sul setImageResource dice che non può essere applicato alla classe DBProduct.


Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Problema di settaggio immagini e dati contenuti in una CLASSE
« Risposta #5 il: 18 Ottobre 2012, 10:10:30 CEST »
0
Ed in effetti è cosi... non puoi applicare il metodo setImageResource alla tua classe.

Ho paura che ti manchino parecchie basi di java... prima di continuare con il tuo progetto ti consiglio una buona lettura di libro di java.

Offline LucaP84

  • Utente junior
  • **
  • Post: 50
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Seven
Re:Problema di settaggio immagini e dati contenuti in una CLASSE
« Risposta #6 il: 18 Ottobre 2012, 11:15:23 CEST »
0
Ed in effetti è cosi... non puoi applicare il metodo setImageResource alla tua classe.

Ho paura che ti manchino parecchie basi di java... prima di continuare con il tuo progetto ti consiglio una buona lettura di libro di java.

Beh lo so che sono in errore, altrimenti non scrivevo e chiedevo aiuto!!!

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Problema di settaggio immagini e dati contenuti in una CLASSE
« Risposta #7 il: 18 Ottobre 2012, 11:53:45 CEST »
0
Il problema è che non sei in errore in un problema di android, ma sei in errore in un problema (basilare) di java.

Android (e sopratutto questo forum) ha come fortissimo prerequisito una ottima conoscenza di Java, senza di quelle è inutile parlare di Activity o altro se manca il concetto di Classe e Oggetti.

Hai fatto benissimo a scrivere ed a chiedere aiuto, il problema è che stai chiedendo aiuto nel forum sbagliato visto che problemi come il tuo vanno affrontati in forum che parlano di Java e non in questo forum che parla esclusivamente di Android (con qualche spin-off su java, ma non certamente a livello di Classi ed Oggetti).

Offline LucaP84

  • Utente junior
  • **
  • Post: 50
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Seven
Re:Problema di settaggio immagini e dati contenuti in una CLASSE
« Risposta #8 il: 18 Ottobre 2012, 18:11:49 CEST »
0
Grazie per la risposta!!! :D