Autore Topic: immagini da java  (Letto 775 volte)

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
immagini da java
« il: 14 Febbraio 2012, 10:56:32 CET »
0
Salve ragazzi,
ho un problemino..

Ho un table layout e devo inserire delle immagini. I nomi delle varie immagini da inserire sn in un file xml.
Attraverso queste istruzioni prendo il nome delle immagini e il suo id.

Codice (Java): [Seleziona]
                        int StringId = getResources().getIdentifier(test,"string",getPackageName());  
                       
                        String nameImg = getResources().getString(StringId);  //nome dell'immagine
                        int Id = getResources().getIdentifier(nameImg, "drawable",getPackageName());
                                                       
                        ImageView img = new ImageView(getApplicationContext());
                        img.setImageResource(Id);

Non mi da nessun errore..il problema è che non riesco a visualizzare l'immagine anche se i dati sono tutti corretti..
Dove sbaglio??

Grazie..

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:immagini da java
« Risposta #1 il: 14 Febbraio 2012, 10:58:43 CET »
0
Ma la ImageView la aggiungi poi al layout?

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
Re:immagini da java
« Risposta #2 il: 14 Febbraio 2012, 11:03:31 CET »
0
Si scusa avevo taglia male.. ecco lo snap

Codice (Java): [Seleziona]
TableLayout myTable = (TableLayout)findViewById(R.id.tableLayoutOrme);

                for (int i=1; i<11; i++){
                        TableRow row= new TableRow(getApplicationContext());                   
                        String test = "img"+Integer.toString(i);
                        int StringId = getResources().getIdentifier(test,"string",getPackageName());
                       
                        String nameImg = getResources().getString(StringId);
                        int Id = getResources().getIdentifier(nameImg, "drawable",getPackageName());
                       
                        TextView name = new TextView(getApplicationContext());
                        name.setText(nameImg);
                        row.addView(name);
                       
                        Log.i("string", nameImg);
                        Log.i("test", test);
                       
                        ImageView img = new ImageView(getApplicationContext());
                        img.setImageResource(Id);
                        row.addView(img);
                       
                        myTable.addView(row, new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
                }

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:immagini da java
« Risposta #3 il: 14 Febbraio 2012, 11:04:51 CET »
0
Ma se invece di andare a prendere i parametri in modo dinamico, provi a metterlo direttamente:

img.setImageResource(R.drawable.immagine);

funziona?

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
Re:immagini da java
« Risposta #4 il: 14 Febbraio 2012, 11:09:34 CET »
0
Il problema è che ho una tabella da 150 immagini e volevao fare una cosa più furba invece che costruire a mano il tutto...

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:immagini da java
« Risposta #5 il: 14 Febbraio 2012, 11:21:20 CET »
0
SI ok, ma è solo per capire se il problema è prendere le immagini o visualizzarle.
Comunque, non ti conviene usare magari una gridview?

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
Re:immagini da java
« Risposta #6 il: 14 Febbraio 2012, 11:23:18 CET »
0
Veramente non capisco cosa sia.. Riesco sia a prendere il nome corretto dell'immagine ("ciao.jpg") che il suo id; solo che quando faccio il setImage non vedo nulla..

Ho prvato ad usare una img statica e la visualizza correttamente usando il R.drawable....

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
Re:immagini da java
« Risposta #7 il: 14 Febbraio 2012, 11:29:08 CET »
0
Ho trovato un primo errore..
Dunque quando faccio
Codice (Java): [Seleziona]
int StringId = getResources().getIdentifier(test,"string",getPackageName());
String nameImg = getResources().getString(StringId);
ottendo il nome corretto e id della img in string.
Quando invece faccio
int Id = getResources().getIdentifier(nameImg, "drawable",getPackageName());
Codice (Java): [Seleziona]
 ottengo 0.

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
Re:immagini da java
« Risposta #8 il: 14 Febbraio 2012, 11:59:51 CET »
0
Ok.. trovato il problema...
Dovevo cercare solo il nome SENZA estenzione

Codice (Java): [Seleziona]
int Id = getResources().getIdentifier(nameImg.substring(0, (nameImg.length()-4)), "drawable",getPackageName());

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
Re:immagini da java
« Risposta #9 il: 14 Febbraio 2012, 14:47:48 CET »
0
Ragazzi scusate ma non riesco a ridimensionare le immagini..

Come devo fare?
Usando maxHeight non succede niente..

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
Re:immagini da java
« Risposta #10 il: 14 Febbraio 2012, 15:05:03 CET »
0
Finalmente l'ho trovato...

Codice (Java): [Seleziona]
                        ImageView img = new ImageView(getApplicationContext());                            
                        img.setImageResource(Id);
                        img.setMaxHeight(80);
                        img.setAdjustViewBounds(true);