2012-04-08 64 views
0

我嘗試了谷歌搜索的每個例子,它不起作用。 當我在我的Sony Tablet S中運行我的應用程序時,在LogCat中顯示NullPointerException,然後強制關閉。 :(爲什麼在WebView中發生NullPointerException?

非常感謝你。

public class Lesson_4 extends Fragment { 
WebView myWebView; 
WebChromeClient chromeClient; 
WebViewClient wvClient; 
/** 
* (non-Javadoc) 
* 
* @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, 
*  android.view.ViewGroup, android.os.Bundle) 
*/ 

public View onCreateView(final LayoutInflater inflater, 
     final ViewGroup container, Bundle savedInstanceState) { 

    if (container == null) { 
     return null; 
    } 

    LinearLayout mLinearLayout = (LinearLayout) inflater.inflate(
      R.layout.lessons4, container, false); 

    myWebView = (WebView) (getView().findViewById(R.id.webView)); 
    myWebView.setWebChromeClient(new WebChromeClient()); 
    myWebView.setWebViewClient(wvClient); 
    myWebView.getSettings().setJavaScriptEnabled(true); 
    myWebView.getSettings().setPluginsEnabled(true); 
    myWebView.loadUrl("http://www.youtube.com/watch?v=iNcNOMiSQ5I"); 

    return mLinearLayout; 

} 

}

+1

請發佈堆棧跟蹤,並在您的代碼中確定它發生的位置(如果您尚未發佈,請確保您已發佈該代碼) – Mat 2012-04-08 13:19:21

+2

堆棧跟蹤+請在代碼中指出行號 – znat 2012-04-08 13:21:21

回答

0

你應該張貼堆棧跟蹤,並在你的代碼中NPE發生的行號,但我認爲這是myWebView = (WebView) (getView().findViewById(R.id.webView));。它不應該是myWebView = (WebView) mLinearLayout.findViewById(R.id.webView);?當然,這mLinearLayout必須包含您webView

不能使用getView()內onCreateView(),因爲你想獲得視圖尚未創建,因此NullPoint erException。

+0

這是否解決了問題???因爲我仍然從使用這個片段子類的類中獲得NPE。我在LinearLayout中有一個ListView作爲Fragment中的根。任何人都可以請幫忙.. ?? – 2012-09-28 12:20:57

相關問題