比较简单了 直接上代码。
我们的strings.xml
布局文件
我们的Activity类 MainActivity
运行效果如下, 前进后退 按钮都可以正常完成任务,[color=green]大家注意填写 网址的时候 加上 http:[/color]
[img]http://dl.iteye.com/upload/attachment/480395/86f21bc4-53d7-3ec8-9e8c-c1dcfe244966.jpg[/img]
[img]http://dl.iteye.com/upload/attachment/480397/bf8d7b5a-0512-3281-bf46-ab14d98a1d69.jpg[/img]
[img]http://dl.iteye.com/upload/attachment/480399/87729d16-4992-351c-827b-aab4215791cf.jpg[/img]
:?: 源码
我们的strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, MainActivity!</string>
<string name="app_name">test_webview</string>
<string name="et">请输入网址</string>
<string name="btn">GO</string>
<string name="forward">前进</string>
<string name="back">后退</string>
</resources>
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/btnForward"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/forward"/>
<Button
android:id="@+id/btnBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/back"/>
<EditText
android:id="@+id/et"
android:layout_width="175px"
android:singleLine="true"
android:selectAllOnFocus="true"
android:layout_height="wrap_content"
android:text="@string/et"/>
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="@string/btn"/>
</LinearLayout>
<WebView
android:id="@+id/wv"
android:layout_width="wrap_content" android:layout_height="fill_parent"/>
</LinearLayout>
我们的Activity类 MainActivity
package xiaohang.zhimeng;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.webkit.URLUtil;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
WebView wv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置Activity显示进度条
getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.main);
wv = (WebView) findViewById(R.id.wv);
wv.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
// 重写方法 设置Activity的进度条
MainActivity.this.setProgress(newProgress * 100);
}
});
wv.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// 重写 onReceivedError方法 创建Toast并显示
Toast.makeText(MainActivity.this, "Sorry!" + description,
Toast.LENGTH_LONG).show();
}
});
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 获得EditText对象
EditText et = (EditText) findViewById(R.id.et);
// 获得地址栏输入的网址
String url = et.getText().toString();
// 判断是否是网址
if (URLUtil.isNetworkUrl(url)) {
wv.loadUrl(url);
} else {
Toast.makeText(MainActivity.this, "对不起, 您输入的网址有错误。",
Toast.LENGTH_LONG).show();
// 将焦点移动到EditText
et.requestFocus();
}
}
});
// 设置前进按钮
Button btnForward = (Button) findViewById(R.id.btnForward);
btnForward.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 判断是否能前进
if (wv.canGoForward()) {
// 进行前进跳转
wv.goForward();
} else {
Toast.makeText(MainActivity.this, "对不起, 您现在不能前进。",
Toast.LENGTH_LONG).show();
}
}
});
// 设置后退按钮
Button btnBack = (Button) findViewById(R.id.btnBack);
btnBack.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 判断是否能够后退
if (wv.canGoBack()) {
// 进行后退跳转
wv.goBack();
} else {
Toast.makeText(MainActivity.this, "对不起, 您现在不能后退。",
Toast.LENGTH_LONG).show();
}
}
});
}
}运行效果如下, 前进后退 按钮都可以正常完成任务,[color=green]大家注意填写 网址的时候 加上 http:[/color]
[img]http://dl.iteye.com/upload/attachment/480395/86f21bc4-53d7-3ec8-9e8c-c1dcfe244966.jpg[/img]
[img]http://dl.iteye.com/upload/attachment/480397/bf8d7b5a-0512-3281-bf46-ab14d98a1d69.jpg[/img]
[img]http://dl.iteye.com/upload/attachment/480399/87729d16-4992-351c-827b-aab4215791cf.jpg[/img]
:?: 源码
本文通过一个简单的示例介绍了如何在Android应用中使用WebView加载网页,并实现前进、后退功能。示例包括strings.xml配置、布局文件定义及MainActivity代码。
3077

被折叠的 条评论
为什么被折叠?



