Activity:
public class CourseOnLine extends Activity { private WebView webview; private ProgressDialog dialog; @Override protected void onCreate(Bundle savedInstanceState) { showDialog(0); super.onCreate(savedInstanceState); setContentView(R.layout.online); Intent intent=getIntent(); Bundle data=intent.getExtras(); String courseURL=data.getString("courseWebURL"); webview=(WebView)findViewById(R.id.webview01); //设置WebView属性,能够执行JavaScript脚本 webview.getSettings().setJavaScriptEnabled(true); //如果要播放Flash,需要加上这一句 webview.getSettings().setPluginsEnabled(true); //加载URL内容 webview.loadUrl(courseURL); MyWebViewClient myWebView=new MyWebViewClient(); webview.setWebViewClient(myWebView); } @Override//设置回退 public boolean onKeyDown(int keyCode, KeyEvent event) { if((keyCode==KeyEvent.KEYCODE_BACK) && webview.canGoBack()){ webview.goBack(); return true; } return super.onKeyDown(keyCode, event); } @Override protected Dialog onCreateDialog(int id) { //实例化进度条对话框 dialog=new ProgressDialog(this); /*//可以不显示标题 dialog.setTitle("正在加载,请稍候!");*/ dialog.setIndeterminate(true); dialog.setMessage("正在加载,请稍候!"); dialog.setCancelable(true); return dialog; } private class MyWebViewClient extends WebViewClient{ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } @Override public void onPageFinished(WebView view, String url) { dialog.dismiss(); } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { // TODO Auto-generated method stub super.onReceivedError(view, errorCode, description, failingUrl); dialog.dismiss(); } }
?layout:online.xml?
?
<?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" > <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>