2016-10-29 3 views
1

코드 :이 코드에Android 개조에서 응답 코드를 확인하는 방법은 무엇입니까?

Call<ResponseBody> call = postApiService.uploadFile(body, coordinatePoint, textToPost); 
call.enqueue(new Callback<ResponseBody>() { 
    @Override 
    public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) { 
     if(response.isSuccessful()){ 
      Toast.makeText(getContext(), response.code(), Toast.LENGTH_LONG).show(); 
     } 
     else { 
      Toast.makeText(getContext(), response.code(), Toast.LENGTH_LONG).show(); 
     } 
    } 
    @Override 
    public void onFailure(Call<ResponseBody> call, Throwable t) { 
     Toast.makeText(getContext(), getString(R.string.check_internet), Toast.LENGTH_LONG).show(); 
    } 

, 난 오류 코드가 그럼, 어떻게 얻을 그 Toast.makeText(getContext(), response.code(), Toast.LENGTH_LONG).show();

android.content.res.Resources$NotFoundException: String resource ID #0xc9

처럼 때문에 오류가 response.code()

에 생각 안드로이드 retrofit2에 응답 코드?

제발 알려주세요.

답변

1

makeText(Context context, int resId, int duration)onResponse (으)로 호출 중이므로 android.content.res.Resources$NotFoundException: String resource ID #0xc9 메시지가 표시됩니다. 여기서 두 번째 매개 변수는 int 유형의 문자열 리소스 ID를 예상하지만 대신 응답 코드를 전달합니다. 단순히 올바른 값을 인쇄 할 String에 응답 코드를 변환 :

Toast.makeText(getContext(), Integer.toString(response.code()), Toast.LENGTH_LONG).show(); 
+0

감사합니다. – touchingtwist

1

사용하고있는 Toast.makeText 방법은 오버로드와 두 번째 인수로 문자열 리소스의 INT를 사용하고 있습니다.

String.valueOf(response.code())으로 랩핑 된 두 번째 인수를 전달하는 것을 고려하십시오.

관련 문제