在我的Android項目中,我有SwitchCompact,onClick
其中我做網絡的東西和基礎響應我想更改SwitchCompact
檢查或不檢查。Android - SwitchCompact禁用/停止默認行爲
我現在面臨的問題是:
當我點擊SwitchCompact
它改變其狀態(即時真亦假,反之亦然),這是正常的行爲。我想禁用它的正常/默認行爲。
這可能嗎?
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());
}
}
任何幫助將不勝感激。
我不確定是否有辦法做到這一點。我的建議是讓交換機執行其默認行爲。然後你進行網絡通話。如果您的通話成功,請將開關保持原樣,否則將其恢復並向用戶顯示SnackBar,說明發生了什麼。 –
**:)**我必須這樣做,作爲最後的手段... – Bharatesh
我已經使用了相同的實現這就是爲什麼。做了很多挖掘並且找不到改變默認行爲的方法。 –