user3020391
user3020391

Reputation: 41

Android Fragment WebView

I create app for someone in my countery

I have problem with app

My app has slide mene Same this app Youtube .

https://i.sstatic.net/4hxlM.png

but the problem with WebView I have one layout it has webView

this is webView_layout.xml

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

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="39dp"
        android:text="@string/aboutme"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <WebView
        android:id="@+id/webView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" />

</RelativeLayout>

and this is class

package com.alyousafi.SeebClub;

import com.alyousafi.SeebClub.R;

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

public class TimeTible_forgment extends Fragment {

    public TimeTible_forgment(){}

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

        View rootView = inflater.inflate(R.layout.webView_layout, container, false);

        return rootView;
    }
}

Anyone can help me How I can use WebView in my Fragment ? this is big problem please help me >>>

Upvotes: 3

Views: 20280

Answers (3)

Tara
Tara

Reputation: 2648

You should try this.

public class WebView extends Fragment {
WebView wv;
    @Override
    public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle args) {
        View view = inflater.inflate(R.layout.web_fragment, container, false);

         wv=(WebView)view.findViewById(R.id.webView1);
        wv.getSettings().setJavaScriptEnabled(true);
        wv.loadUrl("https://www.google.com");

        wv.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return false;
    }
        });
        return view;
    }

}

Upvotes: 0

Edgar Gonzalez
Edgar Gonzalez

Reputation: 23

i got the same asnwer a few days ago, i did this and can display webpages inside a fragment

public class HeroesFragment extends Fragment {

    public HeroesFragment() {}


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

        View rootView = inflater.inflate(R.layout.heroes, container, false);
        WebView heroespage = (WebView) rootView.findViewById(R.id.heroeswiki);
        WebSettings webSettings = heroespage.getSettings();
        webSettings.setJavaScriptEnabled(true);
        heroespage.loadUrl("file:///android_asset/heroes/index.html");

        return rootView;
    }

}

is my code, changes Heroesfragment by yours, and replace parts of my code to match yours

Upvotes: 2

Saj
Saj

Reputation: 839

Try like this

       public class DisplayFragment extends Fragment {

        private String curURL;

        public void init(String url) {

            curURL = url;

        }

        @Override
        public void onActivityCreated(Bundle savedInstanceState) {

            super.onActivityCreated(savedInstanceState);

        }

        @Override
        public View onCreateView(LayoutInflater inflater,
                ViewGroup container,

                Bundle savedInstanceState) {

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

            if (curURL != null) {

                WebView webview = (WebView) view.findViewById(R.id.web);

                webview.getSettings().setJavaScriptEnabled(true);

                webview.setWebViewClient(new webClient());

                webview.loadUrl(curURL);

            }

            return view;

        }

        public void updateUrl(String url) {
            curURL = url;
            WebView webview = (WebView) getView().findViewById(R.id.web);
            webview.getSettings().setJavaScriptEnabled(true);
            webview.loadUrl(url);
        }

        private class webClient extends WebViewClient {

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {

                return false;

            }

        }

    }

Upvotes: 10

Related Questions