2014-11-02 4 views
0

Я пытаюсь установить флажок в android studio/java, который, если установлен, приведет к проверке и проверке подмножества других флажков.Проблемы с флажками, проверяющими другие флажки в приложении

Сайт разработчика говорит: абстрактной пустоты setChecked (булево проверено) Изменить проверенное состояние зрения

Но это не работает для меня.

Текущий код:

Java:

package crc.cybereye; 

public class CreateNew extends Activity { 
    LinearLayout background; 
    Button btnBack; 
    CheckBox checkbox_structural_info; 
    CheckBox checkbox_years_of; 



    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     background = (LinearLayout) findViewById(R.id.background); 
     setContentView(R.layout.activity_create_new); 
     btnBack = (Button) findViewById(R.id.btnBack); 
     checkbox_years_of = (CheckBox) findViewById(R.id.checkbox_years_of); 
     checkbox_floors_above = (CheckBox) findViewById(R.id.checkbox_floors_above); 
     checkbox_structural_info = (CheckBox) findViewById(R.id.checkbox_structural_info); 
     // setUpIntroCheckBoxes(); // Add change listeners to check boxes 


     btnBack.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Intent intent = new Intent(view.getContext(), NewFormActivity.class); 
       startActivityForResult(intent, 0); 
      } 
     }); 
    } 

Больше Java:

public void onCheckboxClicked(View view) { 
    // Is the view now checked? 
    boolean checked = ((CheckBox) view).isChecked(); 
    // Check which checkbox was clicked 
    switch(view.getId()) { 
     case R.id.checkbox_structural_info: 
      if (checked){ 
       checkbox_years_of checked.setChecked(true) //ERROR HERE 
      } 
      break; 
     case R.id.checkbox_years_of: 
      if (checked){ 

      } 
      break; 

XML:

<TableRow android:layout_marginTop="10dp"> 
<TextView 
    android:text="@string/structural_info" 
    android:layout_weight="1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="end" 
    /> 
<CheckBox android:id="@+id/checkbox_structural_info" 
    android:layout_weight="1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:onClick="onCheckboxClicked"/> 
</TableRow> 
    <TableRow> 
     <TextView 
      android:text="@string/years_of" 
      android:layout_weight="1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="end" 
      /> 
     <CheckBox android:id="@+id/checkbox_years_of" 
      android:layout_weight="1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:onClick="onCheckboxClicked"/> 
    <TableRow> 

Существует ошибка о том, что он не может разрешить метод setChecked (б oolean).

Мой код в настоящее время просто пытается установить checkbox для проверки флажка years_of, если он установлен, но я также хочу, чтобы year_or проверялся только если struct_info проверен, у меня пока нет, потому что я все еще был застрял в этом вопросе. Большое спасибо за любую помощь заранее.

+0

не checkbox_years_of checked.setChecked (истина) будет checkbox_years_of.setChecked (правда)? (там вы вызываете setChecked для проверки, которая является логической переменной) – JML

+0

Да, это сработало. Спасибо (все еще получаю зависть Java) – Rorschach

+0

Можете ли вы оставить свой комментарий в качестве ответа, чтобы я мог проверить его как ответ? Или есть способ закрыть этот вопрос, как он ответил? – Rorschach

ответ

0

По просьбе создателя этой должности, я буду добавлять комментарий в ответ:

Вы призывающую setChecked к проверяемой Wich является булевой переменной. Вы Шоуда написать:

checkbox_years_of.setChecked(true) 

Вместо

checkbox_years_of checked.setChecked(true) 
Смежные вопросы