Autore Topic: Prendere in input valori da EditText create dinamicamente da codice java  (Letto 1659 volte)

Offline bisemanu

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Motorola Defy+ Acer Liquid A1
  • Sistema operativo:
    Mac OS X 10.7 Windows 7
Salve a tutti,
sto cercando di realizzare un app che crea dinamicamente una serie di edittext da codice java praticamente questo:

 tableLayout = new TableLayout(this);
 tableLayout.setGravity(Gravity.CENTER_VERTICAL);

for (int i = 0; i < 4; i++) {
           
           tableRow = new TableRow(this); //oggetto di tipo tableRow
           tableRow.setGravity(Gravity.CENTER_VERTICAL);
           
              for (j = 0; j < 4 ; j++) {
              count++;
              
              valore = new EditText(this);//dichiarazione ogetto EditText
              valore.setId(count);
              matrice1[j] = valore.getId();
              valore.setHint("valore " + count);
              valore.setPadding(10, 10, 10, 10);
              tableRow.addView(valore);
              }
           
              tableLayout.addView(tableRow);
        }
       
        setContentView(tableLayout);

fin qui tutto bene mi crea correttamente la tabella di edittext e cerco di definirle dando un id con count, ora come faccio a riferirmi alle edittext e prendere il contenuto di ognuna  e inserirlo in una matrice[j]?
Grazie mille


Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re: Prendere in input valori da EditText create dinamicamente da codice java
« Risposta #1 il: 20 Aprile 2012, 08:57:55 CEST »
Ciao bisemanu,
nella matrice1 ti salvi il numero id dell'editext j; però così perdi il riferimento all'EditText Creato.
Penso invece che potresti creare una matrice di EditText e poi fai: matrice1[j].getText().toString()
Sei stato aiutato oppure il tuo problema è stato risolto? Allora premi il tasto THANKS E' un modo utile e carino per ringraziare chi ti è stato di aiuto.

Offline bisemanu

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Motorola Defy+ Acer Liquid A1
  • Sistema operativo:
    Mac OS X 10.7 Windows 7
Re: Prendere in input valori da EditText create dinamicamente da codice java
« Risposta #2 il: 20 Aprile 2012, 09:22:07 CEST »
come faccio a creare una matrice di edittext?

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re: Prendere in input valori da EditText create dinamicamente da codice java
« Risposta #3 il: 20 Aprile 2012, 09:39:08 CEST »
come faccio a creare una matrice di edittext?

Dovresti studiare un poco di java...

Codice (Java): [Seleziona]
EditText[] editTextArray = new EditText[4];

Offline bisemanu

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Motorola Defy+ Acer Liquid A1
  • Sistema operativo:
    Mac OS X 10.7 Windows 7
Re: Prendere in input valori da EditText create dinamicamente da codice java
« Risposta #4 il: 20 Aprile 2012, 14:22:44 CEST »
ecco dove sono arrivato dopo mille prove ma ancora non funziona, non riesco a capire dove sbaglio vi posto il pezzo di codice sperando in un vostro aiuto

tableLayout = new TableLayout(this);
        tableLayout.setGravity(Gravity.TOP);

        EditText[] valore = new EditText[5];

        for (int i = 0; i < 5; i++) {
           
           tableRow = new TableRow(this);
           tableRow.setGravity(Gravity.TOP);
     
              for (int j = 0; j < 5 ; j++) {
                        valore = new EditText[j];
              count++;
              valore[j].setHint("a " + count);
              valore[j].setPadding(10, 10, 10, 10);
              tableRow.addView(valore[j]);
              }
           
              tableLayout.addView(tableRow);
              
        }

        setContentView(tableLayout);

« Ultima modifica: 20 Aprile 2012, 14:24:18 CEST da bisemanu »

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re: Prendere in input valori da EditText create dinamicamente da codice java
« Risposta #5 il: 20 Aprile 2012, 14:51:07 CEST »
                        valore = new EditText[j];

Scusa se insisto, ma DEVI studiarti prima java o almeno devi imparare ad usare il debbugger di eclipse: Using the Debugger

Codice (Java): [Seleziona]
valore[j] = new EditText();

Offline bisemanu

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Motorola Defy+ Acer Liquid A1
  • Sistema operativo:
    Mac OS X 10.7 Windows 7
Re: Prendere in input valori da EditText create dinamicamente da codice java
« Risposta #6 il: 20 Aprile 2012, 17:54:23 CEST »
Si si so di dover studiare per bene java ed è quello che sto cercando di fare.. sono ancora alle prime armi e molte volte mi perdo  :-) cmq adesso funziona grazie mille almeno sono riuscito a fare un array di edit text ora devo smanettare sull'input dei valori inseriti nelle varie edit text da inserire in un una matrice.

Offline bisemanu

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Motorola Defy+ Acer Liquid A1
  • Sistema operativo:
    Mac OS X 10.7 Windows 7
Re: Prendere in input valori da EditText create dinamicamente da codice java
« Risposta #7 il: 22 Aprile 2012, 14:10:13 CEST »
Grazie mille,
 
ho risolto creando una matrice di edittext, ed inserendo i valori che vado a scrivere nelle edit text in un vettore in questo modo:

secondo.setOnClickListener(new OnClickListener(){
         public void onClick(View arg0) {
            for(int i = 0; i < r1; i++){
               for(int j = 0; j < c1;  j++){
                   
                  vettore[t] = Integer.parseInt(valore[j].getText().toString());
                            t++;
                  }
               }
}
});

dove valore[j] indica le edit text create.

Grazie ancora :-)