Autore Topic: Problema con Button dinamici  (Letto 1243 volte)

Offline donkilluminati

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY NEXT
  • Sistema operativo:
    2.2
Problema con Button dinamici
« il: 19 Maggio 2012, 15:21:14 CEST »
0
Salve ragazzi, sto creando un applicazione che legge dei file di testo dalla sdcard, ho un 'piccolo' problema che non riesco a risolvere.
Per ogni bottone devo associare un file diverso da leggere, ma i file possono essere aggiunti e sottratti dalla sdcard.
Come posso far si che l'applicazione crei,dinamicamente, tanti bottoni quanti file ci sono nella sdcard?
Non so se sono stato chiaro faccio un piccolo esempio, se oggi inserisco 3 file di testo nella mia sd la mia app all'apertura dovra farmi visualizzare 3 bottoni. se domani decido di mttere 5 file nella sd la mi app dovra farmi visualizzare 5 bottoni....e cosi via....
Vi ringrazio anticipatamente per la risposta.
;-)

Offline mancasal

  • Nuovo arrivato
  • *
  • Post: 33
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S i9000
  • Sistema operativo:
    Linux
R: Problema con Button dinamici
« Risposta #1 il: 19 Maggio 2012, 22:11:47 CEST »
0
Devi creare una listview e popolarla con i file che ti interessano.
pesonalizzi ogni riga creando un xml con un bottone al quale imposti la label.


Inviato dal mio GT-I9000 con Tapatalk 2

Offline zaxxon

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: +4
    • Mostra profilo
  • Dispositivo Android:
    Archos 101 G9
  • Sistema operativo:
    Ubuntu 10.04
Re:Problema con Button dinamici
« Risposta #2 il: 20 Maggio 2012, 09:13:06 CEST »
0
Se la struttura è dinamica, non puoi farla usando un layout in xml.
Potresti fare una cosa del genere:
Codice (Java): [Seleziona]
package test.prova;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.widget.*;
import java.io.*;

import android.view.View;
import android.view.View.OnClickListener;

public class ButtonFileListActivity extends Activity implements OnClickListener
{ protected TextView Status;

  @Override
  public void onCreate(Bundle savedInstanceState)
          { super.onCreate(savedInstanceState);
            try { LinearLayout LL = new LinearLayout(this);
                  LL.setOrientation(LinearLayout.VERTICAL);
                  Status = new TextView(this);
                  Status.setText("Status:");
                  LL.addView(Status);
                  if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
                     { File[] FileList = Environment.getExternalStorageDirectory().listFiles();
                       for(File f: FileList)
                          { Button B = new Button(this);
                            B.setText(f.getName());
                            B.setOnClickListener(this);
                            LL.addView(B);
                          }
                     }
                  setContentView(LL);
                } catch(Exception e) {}
          }

  @Override
  public void onClick(View v)
          { Status.setText("Status: Premuto "+((Button)v).getText().toString());
          }
}

La TextView iniziale l'ho inserita solo per avere qualcosa da fare al click dei Button.

Offline donkilluminati

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY NEXT
  • Sistema operativo:
    2.2
Re:Problema con Button dinamici
« Risposta #3 il: 21 Maggio 2012, 10:25:40 CEST »
0
Grazie per la risposta....proverò,(anche se ho iniziato da poco a programmare) il problema e che io devo settare bottoni con nomi diversi e con collegamenti diversi ogniuno dall'altro, ogni button ad un click deve fare determinate cose....come potrei fare?

Offline zaxxon

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: +4
    • Mostra profilo
  • Dispositivo Android:
    Archos 101 G9
  • Sistema operativo:
    Ubuntu 10.04
Re:Problema con Button dinamici
« Risposta #4 il: 21 Maggio 2012, 18:33:08 CEST »
0
Nel codice che ho postato sopra, ad ogni Button viene assegnata la stringa contenente il nome del file, ma puoi metterci quello che vuoi, mi sembrava la scelta più ovvia se vuoi un pulsante per ogni file.

Per quanto riguarda la gestione delle azioni, nel metodo OnClick la View che viene passata come parametro è il Button che è stato premuto, quindi usando la stringa associata,  ricavabile con getText(), puoi decidere il comportamento di ogni singolo pulsante.


Offline donkilluminati

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY NEXT
  • Sistema operativo:
    2.2
Re:Problema con Button dinamici
« Risposta #5 il: 21 Maggio 2012, 18:39:09 CEST »
0
perfetto.....ti ringrazio....proverò subito a mettere i atto i tuoi consigli....avrai mie notizie.....:D

Offline mancasal

  • Nuovo arrivato
  • *
  • Post: 33
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S i9000
  • Sistema operativo:
    Linux
R: Problema con Button dinamici
« Risposta #6 il: 22 Maggio 2012, 21:06:48 CEST »
0
In effetti ho probabilmente frainteso la domanda.
Grazie zaxxon per la puntualizzazione e la correzione.
:-[

Inviato dal mio GT-I9000 con Tapatalk 2

Offline donkilluminati

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY NEXT
  • Sistema operativo:
    2.2
Re:Problema con Button dinamici
« Risposta #7 il: 04 Luglio 2012, 15:24:33 CEST »
0
anche se con un bel po di ritardo ti devo ringraziare per la dritta mi e stata davvero utilissima...;D....grazie ancora....