Ich erhalte diesen Fehler selten, wenn ich einen API-Aufruf mache.
java.lang.IllegalStateException: Fragment not attached to Activity
Ich habe versucht, den Code in die isAdded()
Methode einzufügen, um zu überprüfen, ob das Fragment derzeit zu seiner Aktivität hinzugefügt wird, aber ich erhalte diesen Fehler immer noch selten. Ich verstehe nicht, warum ich diesen Fehler immer noch erhalte. Wie kann ich das verhindern?
Es zeigt Fehler in der Zeile
cameraInfo.setId(getResources().getString(R.string.camera_id));
Unten ist der Beispiel-API-Aufruf, den ich mache.
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();
}
}
});