如何在片段文件上添加使用Web视图?

时间:2016-12-09 06:24:17

标签: android android-fragments android-webview

如何在我的片段上调用 WebView ? 你可以看到我已经调用它,但是我遇到了错误。我想要实现的是在我的应用程序上打开的网页。

这是我正在使用的代码:

package sampleapp.razen.com.sampleapp;


import android.app.FragmentTransaction;
import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;


/**
 * A simple {@link Fragment} subclass.
 */
public class GeoNjoroFragment extends Fragment {


    public GeoNjoroFragment() {

        // Required empty public constructor
    }



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

        View view = inflater.inflate(R.layout.fragment_geo_njoro, container, false);

        WebView myWebView = (WebView)view.findViewById(sampleapp.razen.com.sampleapp.R.id.webview);
        myWebView.getSettings().setLoadsImagesAutomatically(true);
        myWebView.getSettings().setJavaScriptEnabled(true);
        myWebView.getSettings().setDomStorageEnabled(true);
        myWebView.getSettings().setBuiltInZoomControls(true);
        myWebView.getSettings().setSupportZoom(true);
        myWebView.loadUrl("http://www.google.com/");
// Inflate the layout for this fragment
        return view;

    }



}

这是我收到的错误的图片:

Image of Error

2 个答案:

答案 0 :(得分:2)

试试这段代码。 首先,你必须膨胀你的视图,然后使用findViewById()方法。 将此权限 uses-permission android:name =" android.permission.INTERNET" 添加到Androidmanifest.xml文件。

    View view = inflater.inflate(R.layout.fragment_geo_njoro, container, false);

    WebView myWebView = (WebView)view.findViewById(sampleapp.razen.com.sampleapp.R.id.webview);
        myWebView.getSettings().setLoadsImagesAutomatically(true);
        myWebView.getSettings().setJavaScriptEnabled(true);
        myWebView.getSettings().setDomStorageEnabled(true);
        myWebView.getSettings().setBuiltInZoomControls(true);
        myWebView.getSettings().setSupportZoom(true);
        myWebView.loadUrl("http://www.hivisasa.com/wb/nakuru/news/113249");
// Inflate the layout for this fragment
return view;

答案 1 :(得分:0)

你不绑定视图,以便webview找不到要绑定的视图,它应该是:

View view = inflater.inflate(R.layout.fragment_geo_njoro,container,false);  WebView myWebView =(WebView)view.findViewById(sampleapp.razen.com.sampleapp.R.id.webview);