在片段上实现webview

时间:2013-11-14 12:08:13

标签: android webview android-fragments

我正在尝试在片段上实现webview。我使用它具有向后兼容性(support.v4.app),因此我无法扩展到WebViewFragment

我从碎片开始,我从未使用过Webview,我不太确定这是如何编程的。

这是我的布局 web_view.xml

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" 
android:baselineAligned="false">

<WebView
        android:id="@+id/webview_container"
        android:layout_width="fill_parent"        
        android:layout_height="fill_parent" />    

这是 WebView类

public class WebView extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View mainView = inflater.inflate(R.layout.web_view, container, false);

        WebView webView = (WebView) mainView.findViewById(R.id.webview_container);  ERROR 1
        webView.getSettings().setJavaScriptEnabled(true);  //ERROR 2
        webView.setWebViewClient(new SwAWebClient());  //ERROR 3
        webView.loadUrl("http://maps.google.com");  //ERROR 4

    return mainView;
}

错误1 :无法从视图转换为webview

错误2 :对于WebView类型,未定义getSettings()方法

错误3 :方法setWebViewClient()未定义为WebView类型

错误4 :方法loadUrl()未定义为WebView类型

2 个答案:

答案 0 :(得分:2)

您的班级与android.webkit.WebView同名。重命名您的片段名称或尝试

android.webkit.WebView webView = (android.webkit.WebView) mainView.findViewById(R.id.webview_container);

答案 1 :(得分:0)

XeNoN答案的替代解决方案:

导入android.webkit.WebView并将您的类名重命名为其他名称!