2016-05-24 4 views
-2

как снять флажок после того, как мы получим проверочный результат?Как снять флажок с отметки?

что-то вроде selection.clear();, но это только очистить выход, а не флажок.

, что я пытаюсь сделать, установить флажок в исходное состояние, которое не отмечено.

после того, как пользователь установил флажок, а затем нажмите кнопку, чтобы получить результат проверки, я хочу удалить все выделенные флажки. как помочь?

public class DessertIngAvail extends Dessert { 

ArrayList<String> selection = new ArrayList<String>(); 
TextView final_text; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_dessert_ing_avail); 

    final_text = (TextView)findViewById(R.id.final_result); 
    final_text.setEnabled(false); 
} 

public void selectItem(View view){ 
    boolean checked = ((CheckBox) view).isChecked(); 
    switch (view.getId()) { 
     case R.id.checkBox181: 
      if(checked) { 
       if(!selection.contains("Tebaloi")) 
        selection.add("Tebaloi"); 

       if(!selection.contains("Tumpik")) 
        selection.add("Tumpik"); 
      } 

      break; 

     case R.id.checkBox182: 
      if(checked) { 
       if(!selection.contains("Ambuyat")) 
        selection.add("Ambuyat"); 
      } 

      break; 

     case R.id.checkBox183: 
      if(checked) { 
       if(!selection.contains("Tumpik")) 
        selection.add("Tumpik"); 
      } 

      break; 

     case R.id.checkBoxCM: 
      if(checked) { 

       if(!selection.contains("Honey Frankincense Cake")) 
        selection.add("Honey Frankincense Cake"); 

       if(!selection.contains(" Ray Heart Cake")) 
        selection.add(" Ray Heart Cake"); 
      } 

      break; 
    } 
} 

public void finalSelection(View view) { 

    String final_fruit_selection = ""; 

    for(String Selection : selection) { 
     final_fruit_selection = final_fruit_selection + Selection + "\n"; 
    } 

    final_text.setText(final_fruit_selection); 
    selection.clear(); 

    final_text.setEnabled(true); 
    } 
} 

ответ

1

Вы можете использовать

checkBox.setChecked(boolean); 
//to clear the check box 
checkBox.setChecked(false); 

Обновлено finalSelection (Просмотреть вид) метод;

public void finalSelection(View view){ 
    String final_fruit_selection = ""; 
    for(String Selection : selection){ 
     final_fruit_selection = final_fruit_selection + Selection + "\n"; 
    } 
    final_text.setText(final_fruit_selection); 
    selection.clear(); 
    final_text.setEnabled(true); 

    //now clear checkboxes 
    checkBox181.setChecked(false); 
    checkBox182.setChecked(false); 
    checkBox183.setChecked(false); 
    checkBoxCM.setChecked(false); 
} 

Изменение действительно очень основные вещи

//right below TextView final_text; at the top add this 
CheckBox checkBox181,checkBox182,checkBox183,checkBoxCM; 

//declare then in onCreate() 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_dessert_ing_avail); 

    final_text = (TextView)findViewById(R.id.final_result); 
    final_text.setEnabled(false); 
    checkBox181=(CheckBox)findViewById(R.id.checkBox181); 
    checkBox182=(CheckBox)findViewById(R.id.checkBox182); 
    checkBox183=(CheckBox)findViewById(R.id.checkBox183); 
    checkBoxCM=(CheckBox)findViewById(R.id.checkBoxCM); 
} 

Я предлагаю вам следить за некоторые Java курс в режиме онлайн. This - хорошее место для начала.

Чтобы начать обучение развитию Android, проверьте here.

+0

, где я должен реализовать эту линию? в 'public void final selection'? –

+0

Да. Вы можете делать это в любом месте. Но да, вы можете сделать это по методу final_selection. –

+0

Мне нужно объявить что-нибудь? потому что он не может разрешить символ checkBox –

1

Для проверки:

checkBox.setChecked(true); 

и снимите:

checkBox.setChecked(false); 
0

Я не уверен, я понимаю, у наш вопрос, но вы можете установить флажок, используя checkBox.setChecked(false). Чтобы снять отметку со всех отмеченных флажков, просто переверните их и снимите флажки с отмеченных.

+0

как петли над ними? жаль, что я новичок в этой вещи –

+0

Если эти флажки являются единственными, цикл не нужен. Просто сделайте 'checkBox.setChecked (false) 'четыре раза. Вместо 'checkBox' используйте' (CheckBox) findViewById (R.id.my_checkbox) '. –

+0

На самом деле это не полный код. У меня более четырех флажков. много флажок. так как? мне нужно объявить каждый из них по идентификатору? –

0

Если вы уверены, что флажок установлен, вы можете переключать их.

checkbox.toggle(); 

В противном случае

checkBox.setChecked(false); // pass true if you want to select. 
Смежные вопросы