复选框的问题检查应用程序上的其他复选框

时间:2014-11-02 19:41:54

标签: java android checkbox

我正在尝试在android studio / java中创建一个复选框,如果选中该复选框将导致其他复选框的子集可检查和检查。

开发者网站说: abstract void setChecked(boolean checked) 更改视图的选中状态

但这对我没用。

当前代码:

爪哇:

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(boolean)。

我的代码目前只是尝试使用structural_info复选框来检查years_of复选框,如果选中它,但是我也想让years_or只检查Structural_info是否可以检查,我还没到那里因为我还是卡住了在这个问题上。 非常感谢您提前提供任何帮助。

1 个答案:

答案 0 :(得分:0)

根据帖子的创建者的要求,我将评论添加为答案:

你正在调用setChecked来检查它是一个布尔变量。 你应该写道:

checkbox_years_of.setChecked(true)

而不是

checkbox_years_of checked.setChecked(true)