У меня есть DialogFragment. Когда я нажимаю на кнопку OK, я выполнить модифицированную вызов моему апи как этотНулевой контекст в методе обратного вызова onResponse retrofit android
@Override
public void onResponse(Call<LoginResponse> call, Response<LoginResponse> response) {
int code = response.code();
if (code == 200) {
LoginResponse lr = response.body();
if (lr.getError()) {
Utils.showToast(getActivity(), "Error! Los datos son incorrectos.");
} else {
startActivity(new Intent(getActivity(), ConfigGeneralActivity.class));
}
} else {
Toast.makeText(getActivity(), "Error: " + String.valueOf(code), Toast.LENGTH_LONG).show();
}
}
в этой части кода, getActivity() равно нулю.
Другой вариант - передать контекст из oncreatedialog для этого обратного вызова, но когда я это сделаю, я получил сообщение об ошибке, которое говорит, что активность не привязана к фрагменту.
Я знаю, что могу реализовать Отто, но это слишком сложно для того, что я хочу сделать. Я просто хочу начать новую деятельность с ретрофицированного обратного вызова внутри DialogFragment.
Любые идеи? Благодаря!
Я думаю, что ваш фрагмент вызова этого метода разрушен, поэтому фрагмент не присоединен к активности, когда ответы метода. –
Попробуйте использовать контекст приложения в случае getActivity() null – Jai
@Jai, но для вызова applicationContext мне нужно вызвать getActivity(). GetApplicationContext() и getActivity() равно null .. –