2011-01-28 14 views
5

Ok ho una domanda molto semplice ma difficile.Android - Trova oggetto per ID

ho 10 caselle di controllo, tutti chiamati 'controllare', ognuno ha un ID univoco da 1 - 10. Quando si preme un pulsante sul mio app voglio essere in grado di dire che le caselle di controllo sono controllati e che aren' t.

Sono sicuro che la risposta è molto semplice ma non riesco a pensare a come posso farlo. Ho il codice per il pulsante, non riesco a capire come controllare ogni checkbox per id quando sono tutti chiamati 'check'. Spero che uno di voi ragazzi possa aiutarmi.

+0

Le caselle di controllo sono state create in modo esplicito nel layout principale dell'attività, ad es. 10 caselle di controllo nell'XML o create dinamicamente, ad es. in un layout di riga che viene utilizzato più volte in un 'ListView'? –

risposta

9
CheckBox chkbx1 = (CheckBox) findViewById(R.id.***); 
chbkx1.isChecked(); 

isChecked() restituisce true o false, in base allo stato selezionato della casella di controllo. spero che ti aiuti!

1

Nome le caselle di controllo in modo diverso l'una dall'altra quindi utilizzare i loro id. Se stai usando eclipse questo dovrebbe essere veramente facile. Basta aprire il file xml e modificare il nome lì o utilizzare la visuale e fare clic sulla casella di controllo e quindi modificare le proprietà. Quindi fai riferimento alle caselle di controllo in base al loro id.

Una volta modificati i nomi, Brandon fornisce un ottimo esempio di come utilizzare l'id e controllare se sono selezionati.

6

provare questo,

in OnClickListener del pulsante aggiungere il seguente codice

boolean checkedState[] = new boolean[10]; 

for(int i=0; i <= 10; i++) 
{ 
    CheckBox c = (CheckBox)findViewById(i); 
    checkedState[i] = c.isChecked(); 
} 

fatemi sapere cosa è successo.

+2

Rientra tutti i tuoi spazi di codice 4 e applicherà la formattazione del codice. – John