2013-04-12 4 views
1

3 개의 작업 표시 줄 탭이있는 작업이 있습니다. 각 탭에는 oncreate() Fragment에 URL을로드하는 webview가 있습니다. 모든 것은 잘 작동하지만 탭을 신속하게 전환하면 onpagefinished가 탭 변경 후 호출되는 부분이 사라져 NullPointerException이 발생합니다. 이것을 막을 수있는 방법이 있습니까?조각 탭 변경 후 Webview 크래시가 발생했습니다.

public void onDestroy() { 
     super.onDestroy(); 
     try { 
      myWebView.stopLoading(); 
     } catch (Exception e) { 
     } 
     try { 
      myWebView.clearView(); 
     } catch (Exception e) { 
     } 

을 내 탭 청취자의 :

내 조각에서 재판을

onTabSelected(Tab tab, FragmentTransaction ft) { 
     // StartActivity.mViewPager.setCurrentItem(tab.getPosition()); 
     if (FinishedLoading == true){ 
     ft.replace(R.id.fragment_container, fragment); 
     } 
     } 

두 옵션 모두 충돌하는 APP을 방지하지 않습니다.

는 오류가 난받을 :

java.lang.NullPointerException 
at com.***.Fragment1$MyWebViewClient.onPageFinished(Fragment1.java:233) 
at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:389) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4898) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773) 
at dalvik.system.NativeStart.main(Native Method) 

답변

1

은 나뿐만 아니라이 문제에 직면했다. 당신이 그것을 해결되지 않았다면, 아마도 당신은 다음과 같이 당신의 조각에 onPause을 구현하려고하고 싶습니다 :

@Override 
public void onPause() { 

    if (webview.isShown() == false) { 
     webview.stopLoading(); 
    } 
    super.onPause(); 
} 

@Override 
public void onResume() { 
    super.onResume(); 
} 

webview 당신의 웹보기

인 경우
관련 문제