Vik0809
Vik0809

Reputation: 379

How to use Checkbox ClickListener correctly?

I want to show a Seekbar, when I check an Checkbox and the Seekbar shall disappear, when I uncheck the Checkbox.

But it only works for me, that the Seekbar appears by clicking the Checkbox but doesn't disappear, when I uncheck the Checkbox.

I tried it with a ClickListener:

begrenzungsCheckBox = (CheckBox) findViewById(R.id.filebegrenzungCheckBox); begrenzungsCheckBox.setOnClickListener(filebegrenzungsListenerCheckbox);

OnClickListener filebegrenzungsListenerCheckbox = new OnClickListener() {

    @Override
    public void onClick(View v) {
        TextView filebegrenzungAnzeige = (TextView) findViewById(R.id.filebegrenzungAnzeige);
        SeekBar filebegrenzungsSeekbar = (SeekBar) findViewById(R.id.filebegrenzungSeekbar);

        filebegrenzungAnzeige.setVisibility(View.VISIBLE);
        filebegrenzungsSeekbar.setVisibility(View.VISIBLE);

    }
};

and here is the corresponding xml layout file:

<SeekBar
    android:id="@+id/filebegrenzungSeekbar"
    android:layout_width="wrap_content"
    android:visibility="invisible"
    android:layout_height="wrap_content" />

How to use the ClickListener in order to have the possibility to check and uncheck the Checkbox or which alternatives are there to realise that?

Upvotes: 2

Views: 71

Answers (2)

DJhon
DJhon

Reputation: 1518

Use this:

if (chk1.isChecked()) {
  ShowSeekBar();
} else { 
  makeInvisibleSeekBar();
}

Upvotes: 0

0101100101
0101100101

Reputation: 5911

OnClickListener fires for every click event. It doesn't care whether the checkbox gets checked or unchecked. Use an OnCheckedChangedListener instead:

*your checkbox*.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        TextView filebegrenzungAnzeige = (TextView) findViewById(R.id.filebegrenzungAnzeige);
        SeekBar filebegrenzungsSeekbar = (SeekBar) findViewById(R.id.filebegrenzungSeekbar);
        filebegrenzungAnzeige.setVisibility(isChecked ? View.VISIBLE : View.INVISIBLE);
        filebegrenzungsSeekbar.setVisibility(isChecked ? View.VISIBLE : View.INVISIBLE);
    }
});

Upvotes: 2

Related Questions