2017-03-11 2 views
0

ボタンを押したときにプログラムでチェックボックスを追加し、チェックボックスをオンにしたときにその特定のチェックボックスを削除したいとします。私はそれを削除することにしたい、 List of things I must completeAndroid:プログラムで特定のチェックボックスを削除する

それは(物理学のように)チェックされている場合:

Button btnAdd = (Button) findViewById(R.id.MainActivity_btnAdd); 
    final EditText edtHomework = (EditText) findViewById(R.id.MainActivity_edtHomework); 
    final LinearLayout llHomework = (LinearLayout) findViewById(R.id.MainActivity_llHomework); 

    btnAdd.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      cbHomework = new CheckBox(MainActivity.this); 
      cbHomework.setText("• " + edtHomework.getText().toString()); 
      llHomework.addView(cbHomework); 
      edtHomework.setText(""); 
     } 
    }); 

    cbHomework.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(CompoundButton compoundButton, boolean b) { 
      if (cbHomework.isChecked()){ 
       // remove the checkbox that is ticked 
      } 
     } 
    }); 

は例えば、私は物事のリストを完了しなければなりません。

+1

は、あなただけのビューを隠そうとしました。 checkedCheckbox.setVisibility(GONE) –

+0

@AdityaDesaiどのチェックがチェックされているかを確認する必要があります –

+0

チェックボックスでOnCheckedChangedListenerを使用しようとしましたか? –

答えて

1

このようにあなたは、右のチェックボックスを作成し、追加した後OnCheckedChangedListener設定する必要があります。

btnAdd.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     cbHomework = new CheckBox(MainActivity.this); 
     cbHomework.setText(edtHomework.getText().toString()); 
     llHomework.addView(cbHomework); 

     cbHomework.setOnCheckedChangedListener(new CompoundButton.OnCheckedChangeListener() { 
       @Override 
       public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) { 
        if(isChecked) 
         llHomework.removeView(compoundButton); 
       } 
      }); 
    } 
}); 
関連する問題