Question

Im mettre à jour certains de mes anciens projets et en utilisant des fragments de mettre à jour l'apparence des choses. J'ai essayé d'utiliser un fragment de lancer une WebView, mais lorsque je tente de l'exécuter, je reçois l'erreur suivante dans mon logcat.

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

La façon dont je l'habitude d'utiliser un WebView était de créer simplement une classe qui était sa propre activité qui a eu lieu dans une WebView mais je voudrais avoir une petite vue dans un fragment, puis quand je voulais utiliser la classe I lancerait via l'intention et de transmettre tout ce que je devais WebView comme une url et d'autres paramètres extras dans l'intention. J'ai essayé de mettre juste un WebView dans un fragment mais je nai obtenu à travailler encore. Voici le code Im en utilisant pour le moment.

    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;

}
}

Et puis c'est la mise en page pour l'activité qui utilise ce fragment.

<?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>

Alors, comment puis-je obtenir un WebView pour ouvrir dans un fragment que je peux utiliser dans une vue.

Était-ce utile?

La solution

Avez-vous pensé à juste étendre WebViewFragment ?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top