2012-02-23 20 views
28

Muszę uzyskać zaznaczone wartości checkbox po kliknięciu przycisku. kod Java:Android: Sprawdź zaznaczone wartości pola wyboru

dualcamera1 = (CheckBox)findViewById(R.id.Camera1_DualDisplay); 
dualcamera2 = (CheckBox)findViewById(R.id.Camera2_DualDisplay); 
dualcamera3 = (CheckBox)findViewById(R.id.Camera3_DualDisplay); 
dualcamera4 = (CheckBox)findViewById(R.id.Camera4_DualDisplay); 
dualdisplay = (Button)dialog.findViewById(R.id.DisplayDualVideo); 
+0

chcesz uzyskać wartości pola wyboru? Masz na myśli, chcesz poznać status pola wyboru lub coś innego? proszę wyjaśnij swoje wymagania nieco więcej. – Hiral

+0

Muszę wybrać tylko dwa pola wyboru, jeśli użytkownik wybierze pojedyncze, więcej niż wiele pól wyboru, aby wyświetlić komunikat. Po kliknięciu przycisku muszę znać zaznaczone pola wyboru. – Kamal

+0

To wciąż nie jest całkowicie jasne. Chcesz uniemożliwić użytkownikowi wybór więcej/mniej niż 2 pola wyboru? a także, co masz na myśli przez wartość pola wyboru - jego sprawdzony stan lub jego tekst? – Hiral

Odpowiedz

6

odpowiednią opcję, aby uzyskać wartość Checkbox używa metody:

isChecked() Aktualne sprawdzone statystyki e zdania

dualcamera1.isChecked() 

isEnable() prostu zwraca True jeśli ten pogląd jest włączona, false w przeciwnym wypadku.

26

Można zadzwonić isChecked() na pole wyboru, aby uzyskać jego status. Jeśli chcesz policzyć liczbę zaznaczonych pól wyboru, możesz zapisać ją w tablicy ArrayList i przechodzić przez nią.

+0

To prawda ❤️ – mghhgm

39

Jego prosta:

static int m=0; 
dualDisplay.setOnClickListener(new OnCli....{ 
    onClick() 
    { 
      if(dualcamera1.isChecked()) 
       m++; // you can save this as checked somewhere 
      if(dualcamera2.isChecked()) 
       m++; // you can save this as checked somewhere 
      if(dualcamera3.isChecked()) 
       m++; // you can save this as checked somewhere 
      if(dualcamera4.isChecked()) 
       m++; // you can save this as checked somewhere 
    } 
}); 
if(m>2 || m<2) 
     // show error message 
else 
     // code here 

można zapisać szczegółów pole wyboru, jeśli jego wybrany, jeśli jest to zaznaczone w pętli tylko.

7

To może pomóc:

//Returns the enabled status for this view. 
dualcamera1.isEnabled() //return True if this view is enabled, false otherwise. 

//Indicates whether the view is currently in pressed state. 
dualcamera1.isPressed() //return True if this view is enabled, false otherwise. 
17

Jeśli pole nie jest zdefiniowanie w onCreate() metoda następnie użyć coś takiego:

boolean isChecked = ((CheckBox) findViewById(R.id.checkBox1)).isChecked() 
Powiązane problemy