Autore Topic: Creare bottoni  (Letto 2832 volte)

Offline tnt

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
Creare bottoni
« il: 25 Febbraio 2012, 15:57:50 CET »
0
ciao a tutti, vorrei creare un'applicazione formata da diversi bottoni di scelta, solo che il numero di bottoni deve essere scelto dall'utente, e ogni volta è diverso, di conseguenza non posso creare i bottoni nel file xml in quanto è statico, pensavo di creare i bottoni attraverso il file richiamato da activity. qualcuno sa come si fa????? o ha qualche idea su come risolvere il mio problema???

grazie mille
« Ultima modifica: 25 Febbraio 2012, 16:53:58 CET da Qlimax »

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:Creare bottoni
« Risposta #1 il: 26 Febbraio 2012, 09:38:56 CET »
+2
ciao tnt,
se non vuoi creare bottoni in maniera statica con xml ti serve solo scrivere dentro un'activity:
Codice (Java): [Seleziona]
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        LinearLayout layout = (LinearLayout)findViewById(R.id.linear);
        LinearLayout.LayoutParams parametri = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.WRAP_CONTENT
        );

        Button btn =  new Button(this);
        btn.setId(1);      
        btn.setText("Primo");
        layout.addView(btn, parametri);
       
    }

Mentre linear fa parte dell'xml main:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/linear"
   android:layout_width="fill_parent" android:layout_height="fill_parent"
   android:orientation="vertical" >
</LinearLayout>
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 tnt

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
Re:Creare bottoni
« Risposta #2 il: 26 Febbraio 2012, 10:23:32 CET »
0
Grazie alexAndroid, bottoni creati :-). Ora dovrei fare in modo che quando premo un bottone all'interno di esso viene scritto il un numero estratto a random. Ho provato ora a inserire una variabile con un determinato valore, ma non funziona:-( hai qualche idea??? inoltre dovrei inserire ogni bottone in una cella di una matrice che contiene il bottone e il valore che copio dalla variabile random. Pensavo di utilizzare un table layout con all'interno un table row, ma come avrai capito non sono molto esperto e non ci capisco molto.

Grazie per l'aiuto:-)
« Ultima modifica: 26 Febbraio 2012, 11:19:03 CET da tnt »

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:Creare bottoni
« Risposta #3 il: 26 Febbraio 2012, 22:01:29 CET »
+1
Tu dovresti: per ogni bottone creato, quando viene cliccato, far estrarre un numero random?
Quindi se hai 10 bottoni tutti devono fare la stessa cosa? Scusami ma non capisco bene la cosa dei 10 bottoni. Comunque se vuoi fare qualcosa quando viene premuto un bottone devi dichiarare un listener. Questo ne è un esempio:
Codice (Java): [Seleziona]
Button btnProva =  new Button(this); // .... più le altre cose del bottone ...

btnProva.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                          // Qui scrivi quello che deve succedere alla pressione del pulsante
                         }
     });

Per la seconda parte dove dici di intabellare i vari bottoni, credo dovresti usare un table layout. Personalmente non l'ho mai usato, ma vedrai che con qualche prova e la documentazione ufficiale o qualche tutorial te la cavi.
 http://developer.android.com/resources/tutorials/views/hello-tablelayout.html
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 tnt

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
Re:Creare bottoni
« Risposta #4 il: 26 Febbraio 2012, 22:35:19 CET »
0
Io devo creare un numero 'x' di bottoni, dopodichè estrarre un numero a random e inserirlo nel bottone che viene premuto dall'utente (inizialmente tutti i bottoni sono vuoti). Se ad esempio creo 100 bottoni come faccio a sapere quale è stato premuto??? inoltre devo poter controllare il contenuto del bottone. Si può vedere il tutto come se fosse un sudoku, in cui ogni numero inserito non è li a caso e viene controllato con altri numeri presenti in altri bottoni.
solo che nel mio programma, che non è un sudoku, non decide l'utente che numero inserire ma viene estratto a caso ogni volta.

Spero di essermi spiegato bene, grazie mille


Offline Giovanni D'Addabbo

  • Utente normale
  • ***
  • Post: 163
  • Respect: +8
    • Google+
    • giovannid
    • giovanni.daddabbo
    • magoscuro
    • Mostra profilo
    • Rhubbit.it - Sviluppo app Android/iOs
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Rhubbit srl
  • Sistema operativo:
    Windows/Mac/Linux
Re:Creare bottoni
« Risposta #5 il: 27 Febbraio 2012, 01:48:50 CET »
0
uhm e qual'è il problema?
hai l'id del bottone che viene premuto quindi nel listener che ti hanno già scritto ti prendi l'id e lo notifichi...dopo tutto il listener viene aggiunto al bottone creato al volo il quale viene aggiunto alla view ;)

byeeeeeee

Offline tnt

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
Re:Creare bottoni
« Risposta #6 il: 27 Febbraio 2012, 14:38:28 CET »
0
grazie e tutti, non riesco pero a far visualizzare una serie di bottoni come se fossero una tabella, essendo il tutto dinamico non posso creare da file xml e di conseguenza non so come fare. il programma mi visualizza i bottoni uno in fila all'altro, in verticale, ma io avrei bisogno una visualizzazione diversa.

Grazie a tutti

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Creare bottoni
« Risposta #7 il: 27 Febbraio 2012, 14:50:00 CET »
+1
Una soluzione alternativa sarebbe quella di creare tutti quanti i bottoni nel file xml , ma con la proprietà android:visibility="invisible"  .
Poi, a runtime, li rendi visibili/invisibili con  il metodo setVisibility a tuo piacimento.
developer.android.com/reference/android/view/View.html#setVisibility(int)

Offline tnt

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
Re:Creare bottoni
« Risposta #8 il: 27 Febbraio 2012, 15:19:18 CET »
0
Buona idea, solo che il mio file ha al massimo 100 bottoni (10x10) vale la pena crearli tutti?
inoltre ho fatto

bottone.setVisibility(1);

non da errore, però non funziona, nel senso che i bottoni me li fa vedere e non cambia nulla.
« Ultima modifica: 27 Febbraio 2012, 15:23:50 CET da tnt »

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Creare bottoni
« Risposta #9 il: 27 Febbraio 2012, 15:32:51 CET »
+1
Prova così:
Codice (Java): [Seleziona]
bottone.setVisibility(View.VISIBLE);
oppure

Codice (Java): [Seleziona]
bottone.setVisibility(View.INVISIBLE);

Offline tnt

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
Re:Creare bottoni
« Risposta #10 il: 27 Febbraio 2012, 15:37:27 CET »
0
cosi funziona....Grazie

Offline tnt

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
Re:Creare bottoni
« Risposta #11 il: 27 Febbraio 2012, 15:57:01 CET »
0
scusa il disturbo, ma cosi io dovrei fare una tabella di 100 elementi, e nel mio file dovrei mettere 100 variabili ogniuna che rappresenta un bottone della mia applicazione??? xk devo tenere conto anche dei bottoni che ogni volta sono invisibili????

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Creare bottoni
« Risposta #12 il: 27 Febbraio 2012, 16:35:41 CET »
0
Puoi usare un array

Offline tnt

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
Re:Creare bottoni
« Risposta #13 il: 27 Febbraio 2012, 16:39:35 CET »
0
come? io in realtà dovrei rappresentare una matrice, e in base al bottone cliccato modificare un valore all'interno di una matrice. oppure posso usare un id di tipo intero e non string per definire un bottone?