单击按钮时如何添加新复选框?

时间:2018-04-04 10:49:51

标签: android button checkbox

checkbox should be created in red zone when button is clicked

我试过这个:

public void newcheckbox() {
  LinearLayout my_layout = (LinearLayout)findViewById(R.id.my_layout);

  CheckBox checkBox = new CheckBox(getApplicationContext());
  checkBox.setText(""+ETnewcheckbox.getText().toString());
  my_layout.addView(checkBox);
}

2 个答案:

答案 0 :(得分:0)

XML中的

 <LinearLayout
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
     android:paddingBottom="8dp"
     android:paddingEnd="16dp"
     android:paddingStart="16dp"
     android:paddingTop="8dp">

           <Button
               android:id="@+id/btCalculator"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:text="click" />

           <CheckBox
               android:id="@+id/cbVar"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:visibility="gone" />

 </LinearLayout>
你的Java类中的

: 在OnCreate之前:

Button btCalculator;
CheckBox cbVar;
在OnCreate中

cbVar= findViewById(R.id.cbVar);

btCalculator = findViewById(R.id.btCalculator);

btCalculator.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            cbVar.setVisibility(View.VISIBLE);
        }

答案 1 :(得分:0)

您应该使用Recycleview。 为您的复选框创建基本模型,如

class CheckboxModel{
 private  String text;
 private  boolean value;
...
}

您应该使用ViewHolder创建CheckboxAdapter,并在用户单击按钮时更新您的适配器。 adapter.setItems(list);(别忘了告诉notifyDataSetChanged)