当我取消选中Checkbox时,当我检查一个Checkbox并且Seekbar消失时,我想要显示一个Seekbar。
但它只适用于我,当我取消选中复选框时,通过单击复选框显示Seekbar但不会消失。
我用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);
}
};
,这是相应的xml布局文件:
<SeekBar android:id="@+id/filebegrenzungSeekbar" android:layout_width="wrap_content" android:visibility="invisible" android:layout_height="wrap_content" />
如何使用ClickListener来检查和取消选中Checkbox,或者有哪些替代方案可以实现?
答案 0 :(得分:2)
为每个点击事件触发OnClickListener。它不关心复选框是选中还是取消选中。改为使用OnCheckedChangedListener:
*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);
}
});
答案 1 :(得分:0)
使用此:
if (chk1.isChecked()) {
ShowSeekBar();
} else {
makeInvisibleSeekBar();
}