Tôi hiếm khi gặp lỗi này trong khi thực hiện cuộc gọi API.
java.lang.IllegalStateException: Fragment not attached to Activity
Tôi đã thử đặt mã bên trong isAdded()
phương thức để kiểm tra xem đoạn hiện có được thêm vào hoạt động của nó hay không nhưng tôi vẫn hiếm khi gặp lỗi này. Tôi không hiểu tại sao tôi vẫn nhận được lỗi này. Làm thế nào tôi có thể ngăn chặn nó?
Nó hiển thị lỗi trên dòng-
cameraInfo.setId(getResources().getString(R.string.camera_id));
Dưới đây là cuộc gọi api mẫu mà tôi đang thực hiện.
SAPI.getInfo(getActivity(),
new APIResponseListener() {
@Override
public void onResponse(Object response) {
cameraInfo = new SInfo();
if(isAdded()) {
cameraInfo.setId(getResources().getString(R.string.camera_id));
cameraInfo.setName(getResources().getString(R.string.camera_name));
cameraInfo.setColor(getResources().getString(R.string.camera_color));
cameraInfo.setEnabled(true);
}
}
@Override
public void onError(VolleyError error) {
mProgressDialog.setVisibility(View.GONE);
if (error instanceof NoConnectionError) {
String errormsg = getResources().getString(R.string.no_internet_error_msg);
Toast.makeText(getActivity(), errormsg, Toast.LENGTH_LONG).show();
}
}
});