Autore Topic: Sistemazioni bottoni nel layout  (Letto 142 volte)

Offline mike1997

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
Sistemazioni bottoni nel layout
« il: 12 Giugno 2016, 13:38:51 CEST »
0
Ciao a tutti ! Per una mia applicazione devo creare automaticamente un determinato numero di bottoni, uno per ogni parametro che mi viene passato da una pagina php. Cercando sul forum ho trovato come creare un bottone direttamente dal codice e nella creazione del singolo oggetto il codice funziona. L'applicazione smette invece di funzionare anzi non parte proprio non appena inserisco la creazione del bottone all'interno del ciclo for. Secondo me questo avviene perchè non sa dove inserire nel layout questi bottoni, ma non so come si faccia e non so neanche se è questo il problema. Vi prego aiutatemi ne ha bisogno urgentemente per la mia tesina  :'(! Grazie (allego il codice che uso per la creazione del bottone)

LinearLayout lin= (LinearLayout) findViewById(R.id.lin);
Button b[] = new Button[10];
       
        for (int i=0;i<5;i++){
                b = new Button (this);
                b.setText(i);
                lin.addView(b);
                }

Offline capitancooker

  • Utente junior
  • **
  • Post: 75
  • Marco
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5, Asus Zenpad S 8.0
  • Sistema operativo:
    macOS Sierra
Re:Sistemazioni bottoni nel layout
« Risposta #1 il: 12 Giugno 2016, 17:50:02 CEST »
0
Non sono molto esperto ma mi pare che tu abbia inizializzato un array mentre nel ciclo la variabile b è un singolo bottone.
Prova così:
Codice (Java): [Seleziona]
LinearLayout lin= (LinearLayout) findViewById(R.id.lin);
for (int i=0;i<5;i++){
  Button b = new Button (this);
  b.setText(String.valueOf(i));
  lin.addView(b);
}

oppure
Codice (Java): [Seleziona]
LinearLayout lin= (LinearLayout) findViewById(R.id.lin);
Button b[] = new Button[10];
        for (int i=0;i<5;i++){
                b[i] = new Button (this);
                b[i].setText(String.valueOf(i));
                lin.addView(b[i]);
        }


Se anche così non funziona scrivi l'errore che ti ritorna.

Ciao e in bocca al lupo per la tesina,
Marco
« Ultima modifica: 12 Giugno 2016, 17:54:51 CEST da capitancooker »
Se sbaglio, correggetemi.