在我的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());
}
}
任何帮助将不胜感激。
最佳答案
好吧,施加更大的压力在我的头上,我发现类似的解决方法,而不是确切的答案:)
@Override
public void onClick(View view) {
if (view.getId()==R.id.switch_id) {
switchCompact.setChecked(!switchCompact.isChecked());
//make networking stuff.
}
}
@RageshRamesh:我在想为什么不在响应之前或
onClick
之后即当Switch更改其状态时恢复其状态。此替代方法按预期方式工作。谢谢你的帮助。