2014-09-02 108 views
2

我想显示一个Seekbar,当我选中复选框并且Seekbar将消失时,当我取消选中复选框时。如何正确使用复选框ClickListener?

但是,它只适用于我,Seekbar出现通过单击复选框,但不会消失,当我取消选中复选框。

我与ClickListener试过:

begrenzungsCheckBox =(复选框)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才能有检查,并取消选中该复选框或替代品的可能性有意识到吗?

+0

对于使用setOnCheckedChangeListener。 – Piyush 2014-09-02 12:59:41

回答

0

使用此:

if (chk1.isChecked()) { 
    ShowSeekBar(); 
} else { 
    makeInvisibleSeekBar(); 
} 
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); 
    } 
});