android studio webview加载网页

来源:互联网 发布:乐知英语官网下载 编辑:程序博客网 时间:2024/05/21 03:16

第一种方式:

在layout上放一个webview控件:

<WebView    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:id="@+id/wv"    android:layout_alignParentLeft="true"    android:layout_alignParentStart="true"    android:layout_alignParentTop="true" />
在activity 中代码如下:

public class MainActivity extends AppCompatActivity {    WebView wv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);        setSupportActionBar(toolbar);        wv=(WebView)findViewById(R.id.wv);        WebSettings ws=wv.getSettings();        ws.setJavaScriptEnabled(true);        wv.loadUrl("网址");        wv.setWebViewClient(new WebViewClient());    }    @Override    public void onBackPressed() {        if(wv.canGoBack()){            wv.goBack();        }else {            super.onBackPressed();        }    }
第二种方式:
输入网址,点击按钮,下方显示网站页面
layout:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    android:orientation="vertical"    tools:context="com.example.jowang.learnlayout.MainActivity">    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content">        <EditText            android:layout_weight="1"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:id="@+id/edit"/>        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="Go"            android:id="@+id/btn"/>    </LinearLayout>    <WebView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_weight="1"        android:id="@+id/web"></WebView></LinearLayout>
activity:
public class MainActivity extends AppCompatActivity {    private LinearLayout root;    private Button go;    WebView webView;    EditText editText;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        go=(Button)findViewById(R.id.btn);        editText=(EditText)findViewById(R.id.edit);        webView=(WebView)findViewById(R.id.web);        go.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                WebSettings ws=webView.getSettings();                ws.setJavaScriptEnabled(true);                webView.loadUrl(editText.getText().toString());                webView.setWebViewClient(new WebViewClient());            }        });    }    @Override    public void onBackPressed() {        if (webView.canGoBack()){            webView.goBack();        }else {            super.onBackPressed();        }    }}
这种方式的问题在于,onbackpressed方法不好用了,按下back键直接退出了程序,有什么好的解决办法嘛?

0 0
原创粉丝点击