2014-09-02 64 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); 
    } 
});