2012-02-19 99 views
1

Im更新我的一些舊項目並使用片段更新事物的外觀。我試圖用一個片段來啓動一個webview,但是當我嘗試運行它時,我在我的logcat中出現以下錯誤。Android-How to use a fragment to display a webview

E/Web Console(22464): Uncaught TypeError: Cannot read property 'addEventListener' of null at  
http://m.yahoo.com/?.tsrc=yahoo&mobile_view_default=true:1 

我用網頁視圖的方法是隻創建一個類,這是它自己的活動發生在網頁視圖,但我想有一個片段內的小圖,然後當我想使用類我會通過intent啓動它,並將任何我需要的東西傳遞給webview,就像url和其他參數在intent中的extras一樣。我試圖在一個片段中設置一個webview,但我還沒有得到它的工作。這是目前使用的代碼。

public class WebViewer extends Fragment { 
WebView Wv; 
String url = "http://www.yahoo.com"; 
Activity act; 
public WebViewer(){} 



@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

} 

@Override 
public void onAttach(Activity activity) { 
    super.onAttach(activity); 
    this.act = activity; 
} 

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

    View mView = inflater.inflate(R.layout.webview, container); 

     Wv = (WebView) mView.findViewById(R.id.webview1); 
     Wv.getSettings().setJavaScriptEnabled(true); 
     Wv.getSettings().setRenderPriority(RenderPriority.HIGH); 
     Wv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 
     Wv.getSettings().setDomStorageEnabled(true); 
     Wv.setWebViewClient(new HelloWebViewClient()); 
     Wv.getSettings().setBuiltInZoomControls(true); 
     Wv.setWebChromeClient(new WebChromeClient() { 
       public void onProgressChanged(WebView view, int progress) 
       { 
        act.setTitle("Loading..."); 
        act.setProgress(progress * 100);    
        if(progress == 100) 
         getActivity().setTitle(R.string.app_name); 
       } 
      }); 
     Wv.loadUrl(url); 

    return mView; 

} 
} 

然後這是使用此片段的活動的佈局。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" 
android:background="@drawable/bggreydotted" 
> 

<fragment 
    android:id="@+id/webFragment" 
    android:layout_width="150dip" 
    android:layout_height="match_parent" 
    android:name="my.proj.WebViewer"></fragment> 


</LinearLayout> 

那麼我怎樣才能得到一個webview打開我可以在視圖中使用的片段。

+0

http://developer.android.com/reference/android/webkit/WebViewFragment.html我剛剛發現,一分鐘前.....生病後回到這裏與我如何得到它的工作當我最終這樣做的時候。 – 2012-02-19 21:52:41

+3

http://stackoverflow.com/questions/9161192/webviewfragment-webview-is-null-after-doing-a-fragmenttransaction我想我可以跟我在這裏找到的鏈接去。我無法讓webviewfragment工作,並且除了方法列表之外,在文檔網站上沒有太多關於它的文檔。 – 2012-02-19 23:51:33

回答

1

的WebView在片段

我想你可以檢查這個例子。它的做工精細我已經在我們

第一個例子擴展片段類現在用它內部的WebView顯示內容

第二個例子內部延伸的WebView WebViewFragment類和顯示內容

WebViewFragment Example Link

你也可以擴展WebViewFragment類我發送給url檢查它。

WebViewFragment Example