CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 9mm con ben 3 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 31 Thanks ricevuti nell'ultimo mese

Pagina 2 di 2 primaprima 12
Visualizzazione dei risultati da 11 a 20 su 20
Discussione:

AIUTO!! Acquisire in Input dati numerici da EditText in array

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #11
    Senior Droid L'avatar di supertommino


    Registrato dal
    Nov 2011
    Messaggi
    891
    Smartphone
    Nexus 6P, Nexus 5, Nexus s

    Ringraziamenti
    19
    Ringraziato 53 volte in 43 Posts
    Predefinito

    Quote Originariamente inviato da bisemanu
    import java.util.Scanner;


    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;

    public class MatriceANDActivity extends Activity {

    Button Button1, Button2;
    EditText valori, righeP, colonneP;
    TextView Label1;
    int i, j,m,p;
    int[][] matrice1;
    Scanner scanner = new Scanner(System.in);

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Label1 = (TextView)findViewById(R.id.textView3);
    valori = (EditText)findViewById(R.id.valorimatrice);
    righeP = (EditText)findViewById(R.id.righeprima);
    colonneP = (EditText)findViewById(R.id.colonneprima);

    Button1 = (Button) findViewById(R.id.dimensiona);
    Button1.setOnClickListener(new OnClickListener(){
    public void onClick(View arg0) {

    int m = Integer.parseInt(righeP.getText().toString());
    int p = Integer.parseInt(colonneP.getText().toString());


    //Dimensiona la prima matrice
    matrice1 = new int[m][p];
    }
    });


    Button2 = (Button) findViewById(R.id.inserisciVal);
    Button2.setOnClickListener(new OnClickListener(){
    public void onClick(View arg0) {

    //inzializza la matrice
    for (i = 0; i < m; i++){
    for (j = 0; j < p; j++){

    Label1.setText("Elemento: " + i + " - " + j);
    Label1.setText("\n");
    matrice1[j] = scanner.nextInt();

    }
    }

    //visualizzza la matrice
    for (i=0; i<m; i++)
    {

    Label1.setText("\n ");

    for (j = 0; j < p; j++)
    {
    Label1.setText(" " + matrice1[j]);
    }
    }
    }
    });
    }
    }

    Questo è il codice che ho scritto per provare a vedere se riesco a dare la dimensione alla matrice e a inseriri i valori.
    Ma sulla label non riesco a visualizzare nulla.

    Perché continui a settare un nuovo testo... Metti tt su una variabile e alla fine lo metti sulla textbox


    Inviato dal mio Nexus S usando Androidiani App

  2.  
  3. #12
    Androidiano


    Registrato dal
    Apr 2012
    Località
    Lecce
    Messaggi
    68
    Smartphone
    Defy+ & Acer liquid A1

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Non ci sto capendo piu nulla... credo cmq che il problema sia nell'inserimento dei valori nella matrice con la stringa matrice1[i][j] = scanner.nextInt();

  4. #13
    Senior Droid L'avatar di supertommino


    Registrato dal
    Nov 2011
    Messaggi
    891
    Smartphone
    Nexus 6P, Nexus 5, Nexus s

    Ringraziamenti
    19
    Ringraziato 53 volte in 43 Posts
    Predefinito

    Quote Originariamente inviato da bisemanu
    Non ci sto capendo piu nulla... credo cmq che il problema sia nell'inserimento dei valori nella matrice con la stringa matrice1[j] = scanner.nextInt();

    Quando visualizzi la matrice continui a settare un testo che si sovrascrive


    Inviato dal mio Nexus S usando Androidiani App

  5. #14
    Androidiano


    Registrato dal
    Apr 2012
    Località
    Lecce
    Messaggi
    68
    Smartphone
    Defy+ & Acer liquid A1

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Il problema è che non vedo proprio nulla sulla label quindi credo sia sbagliato il modo con cui prendo in input i valori della matrice.

  6. #15
    Senior Droid L'avatar di supertommino


    Registrato dal
    Nov 2011
    Messaggi
    891
    Smartphone
    Nexus 6P, Nexus 5, Nexus s

    Ringraziamenti
    19
    Ringraziato 53 volte in 43 Posts
    Predefinito

    Quote Originariamente inviato da bisemanu Visualizza il messaggio
    Il problema è che non vedo proprio nulla sulla label quindi credo sia sbagliato il modo con cui prendo in input i valori della matrice.
    hai piu risolto?

  7. #16
    Androidiano


    Registrato dal
    Apr 2012
    Località
    Lecce
    Messaggi
    68
    Smartphone
    Defy+ & Acer liquid A1

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    no assolutamente, praticamente la parte di codice Java da portare in android è questa
    int m = 4;//righe matrice
    in p = 4;//colonne matrice
    for (i = 0; i < m; i++){
    for (j = 0; j < p; j++){
    System.out.printf("Elemento: " + i + " - " + j);
    System.out.printf("\n");
    matrice1[i][j] = scanner.nextInt();
    }
    }
    in java ad ogni pressione del tasto invio corrisponde l'inserimento nella matrice dei valori.
    Sono arrivato a pensare che forse la soluzione sta in un array di button di dimensione m * p, bho essendo inesperto in questo ambiente sono completamente nel pallone.

  8. #17
    Androidiano


    Registrato dal
    Dec 2011
    Messaggi
    70

    Ringraziamenti
    0
    Ringraziato 4 volte in 4 Posts
    Predefinito

    Il tuo problema è che la versione Java/Console ferma il programma ad ogni attesa di inserimento, mentre usando una GUI non si può ragionare in questo modo ma bisogna ragionare per eventi.

    In fase di inizializzazione avrai 2 variabili Riga e Colonna impostate a zero. Non ci sono cicli for, bensì una EditText ed un bottone di inserimento. Quando si scatena l'evento di pressione del bottone, prendi il valore contenuto nella EditText e lo carichi nella cella della matrice alle coordinate Riga,Colonna, poi incrementi il valore di Colonna e, se superi il numero di colonne lo riporti a zero ed incrementi Riga se quest'ultima supera il numero di righe significa che hai finito e puoi disabilitare il bottone e proseguire con l'elaborazione della tua matrice.

  9. #18
    Androidiano


    Registrato dal
    Apr 2012
    Località
    Lecce
    Messaggi
    68
    Smartphone
    Defy+ & Acer liquid A1

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    se ho capito bene ti riferisci ad una cosa del genere
    Button2 = (Button) findViewById(R.id.inserisci);
    Button2.setOnClickListener(new OnClickListener(){
    public void onClick(View arg0) {

    Label1.setText("Righe: " + Integer.toString(i) + " - Colonne: " + Integer.toString(j));
    matrice[i][j] = Integer.parseInt(valori.getText().toString());
    j++;
    if (j == p){
    j = 0;
    i++;
    } else if (i == m){
    Button2.setEnabled(false);
    }


    }
    });

    sembra andare bene effettivamente tranne che non riesco a disabilitare il button

  10. #19
    Androidiano


    Registrato dal
    Dec 2011
    Messaggi
    70

    Ringraziamenti
    0
    Ringraziato 4 volte in 4 Posts
    Predefinito

    No, gli if di controllo devono essere nidificati, la variabile i va controllata solo dopo averla incrementata:
    codice:
    j++;
    if (j == p)
      { j = 0;
        i++;
        if (i == m) Button2.setEnabled(false);
      }

  11. #20
    Androidiano


    Registrato dal
    Apr 2012
    Località
    Lecce
    Messaggi
    68
    Smartphone
    Defy+ & Acer liquid A1

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Grazie funziona benissimo!!!!

Pagina 2 di 2 primaprima 12

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy