在我的Android项目中,我有SwitchCompact,onClick
我做网络工作,基于响应,我想将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());
}
}
任何帮助将不胜感激。
答案 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改变其状态时。此解决方法按预期工作。谢谢你的帮助。