2013-04-12 3 views
1

У меня есть активность с 3 вкладками в панели действий. Каждая вкладка содержит веб-просмотр, который загружает URL-адрес в Fragment oncreate(). Все работает нормально, но если я быстро переключаю вкладки, onpagefinished появляется после изменения вкладки, поэтому, когда фрагмент вызова исчезает, в результате возникает исключение NullPointerException. Есть ли способ предотвратить это?Сбой веб-просмотра после изменения закладки вкладки

Я пытался в своем фрагменте:

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

я столкнулся этот вопрос, а также. Если вы еще не решили это, может быть, вы хотели бы попробовать реализовать в вашем фрагменте, как это:

@Override 
public void onPause() { 

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

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

Где webview Ваш WebView