Android - SwitchCompact禁用/停止默认行为

时间:2016-03-03 11:24:10

标签: java android appcompat-v7-r23

在我的Android项目中,我有SwitchCompactonClick我做网络工作,基于响应,我想将SwitchCompact更改为已选中或未选中。

我现在面临的问题是:
   当我点击SwitchCompact时,它会改变其状态(即true为false,反之亦然),这是正常行为。我想禁用其正常/默认行为。

这可能吗?

class MyClass extends Fragment implements View.OnClickListener {
    SwitchCompat switchCompact;
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        //my view inflating stuff
        switchCompact= (SwitchCompat) view.findViewById(R.id.switch_id);
        switchCompact.setOnClickListener(this);
        return view;
    }


    @Override
    public void onClick(View view) {
        if (view.getId()==R.id.switch_id) {
            //make http request
        }
    }

    public void onResponse(Response response){
        switchCompact.setChecked(response.getStatus());
    }
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我的头上施加了更大的压力,我找到了类似于解决方法的东西,而不是一个确切的答案:)

 @Override
 public void onClick(View view) {
    if (view.getId()==R.id.switch_id) {
       switchCompact.setChecked(!switchCompact.isChecked());
       //make networking stuff.
    }
 }  

@RageshRamesh:我在想为什么不在响应之前或onClick之后恢复其状态,即当Switch改变其状态时。此解决方法按预期工作。谢谢你的帮助。