2013-03-09 3 views
0

내 웹보기가 올바르게로드되지 않았을 때 경고를 표시하고 싶습니다. 연결이 실패하면 이미 경고를 표시하지만 캐시에서 웹보기가로드 된 경우 해당 경고를 표시하고 싶지 않습니다. 해결책은 webview가 캐시에서 올바르게로드되었는지 알 수 있지만 어떻게 수행해야할지 모르겠다. 아이디어가 있으십니까? 감사!webview가 올바르게로드되었는지 확인합니다.

답변

1

나는 모든 가능한 경우에 대해 완전한 해결책을 찾았습니다. 이는 캐시 데이터를 수동으로 저장 및 검색하는 것을 기반으로합니다. 캐시 된 webview가 있으면 저장 한 위치에서로드합니다. 그렇지 않으면 인터넷 연결을 확인하고 내 "사용자 정의"캐시 (내 응용 프로그램 캐시 디렉토리에 있음)에 저장합니다. 그런 다음 웹보기가 "캐시 됨"이 아니고 인터넷에 연결되어 있지 않을 때만 연결 경고를 표시합니다.

0

이것이 도움이되는지 잘 모릅니다. 그러나 웹 뷰에서 오류가 발견되면 경고 코드를 사용하여 경고 대화 상자를 표시합니다.

@Override 
    public void onReceivedError(WebView view, int errorCode, 
      String description, String failingUrl) { 
     AlertDialog.Builder localBuilder2 = new AlertDialog.Builder(Webview_Main.this); 
     localBuilder2.setTitle(R.string.webview_error_received_title); 
     localBuilder2.setMessage(R.string.webview_error_received); 
     localBuilder2.setIcon(R.drawable.ic_launcher); 
     localBuilder2.setPositiveButton("Ok", 
       new DialogInterface.OnClickListener() { 
      public void onClick(
        DialogInterface paramDialogInterface, 
        int paramInt) { 
       finish(); 
      } 
     }); 
     localBuilder2.show(); 
    }; 
+0

문제는 인터넷 연결이 없지만 웹 뷰가 캐시에있을 때이 코드는 경고를 반환하지만 웹보기가 제대로 표시되고 경고가 표시되지 않도록하려는 것입니다. 하지만 제안 해 주셔서 감사합니다! – jprog

0

마침내 나는 해킹을 발견했지만 가장 좋은 방법은 아니라고 확신하기 때문에 좀 더 명백한 해결책을 원합니다. "onScaleChanged"이벤트를 사용하여 webview에서 이미지를로드했는지 확인합니다 (제 경우에는 이미지 만로드합니다). 이 이벤트는 인터넷 또는 캐시에서 이미지를로드 할 때 발생합니다. 따라서의 특수한 소수 값 이 발생하면 이미지가로드되지 않은 것입니다. 경우에 따라 이미지 크기 및 비율에 따라 해당 값이 제대로로드되었는지 표시하지 않지만 대부분의 경우 이미지 비율을 선택하면 항상 올바르게 작동합니다.

+0

누군가가 "onScaleChanged"를 사용하거나 사용하지 않고 어떤 경우에만 항상 작동하도록 만들면 다른 대답도 받아 들일 것입니다. 감사! – jprog

관련 문제