如何使用Switch禁用Android中的Seekbar?

时间:2014-10-25 03:20:16

标签: java android

我想用一个Powerswitch开关禁用我的Seekbar和按钮 这是一段代码:

seekBar1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
                @Override
                public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
                    String sval = String.valueOf(i);
                    speakerVal.setText(sval); 
                }

                @Override
                public void onStartTrackingTouch(SeekBar seekBar) {

                }

                @Override
                public void onStopTrackingTouch(SeekBar seekBar) {

                }
            });

            // button - Favorite Channel ABC
            cabc = (Button) findViewById(R.id.buttonABC);
            cabc.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // Set Favorite
                    curChannel.setText("007");

                }
            });

这是我的开关代码:

final Switch switch1 = (Switch) findViewById(R.id.switch1);
        switch1.setOnCheckedChangeListener(this);

更多切换代码:

 public void onSwitchClicked(View view) {
        final TextView PowerSwitch = (TextView) findViewById(R.id.PwrSwitchVal);
        Switch sw = (Switch) view;
        if (sw.isChecked()) {
            PowerSwitch.setText("ON");

            pwr = true;
        } else {
            PowerSwitch.setText("OFF");
            pwr = false;

        }
    }

我知道我可以使用switch.isChecked(),但是当我更改seekba1.setEnabled(false)时,我似乎无法让它重新开启。

我还没有试过禁用这些按钮。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

onSwitchClicked方法中,您应该在if if else语句中调用seekbar.setEnabled。如果选中seekbar.setEnabled(true)其他seekbar.setEnabled(false)

答案 1 :(得分:0)

试试这个。

switch1.setOnCheckedChangeListener(new OnCheckedChangeListener() {

                        @Override
                        public void onCheckedChanged(CompoundButton arg0,
                                boolean arg1) {
                            if (arg1) {
                                seekbar1.setEnabled(true);
                            }
                            else{
                                seekbar1.setEnabled(false);
                            }

                        }
                    });