为甚么我用android studio写这个js程序就会崩溃,去掉就可以正常运行了
是一添加WebSettings set=wv.getSettings();这个语句就会崩溃,wv是我设置的WebView名称
是一添加WebSettings set=wv.getSettings();这个语句就会崩溃,wv是我设置的WebView名称
2016-08-13
public class MainActivity extends AppCompatActivity { private WebView wv; private ProgressDialog pd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { wv=(WebView)findViewById(R.id.webView); wv.loadUrl("http://www.bilibili.com"); //使得网页从WebView中打开,而不是跳转 wv.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); //判断页面加载过程 wv.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { if(newProgress==100){ closeDialog(); }else { openDialog(newProgress); } } private void openDialog(int newProgress) { //如果对话框等于空,也就是没有对话框 if(pd==null){ //设定一个新的对话框 pd=new ProgressDialog(MainActivity.this); //设置标题 pd.setTitle("加载中。。。"); pd.setIcon(R.mipmap.ic_launcher); //设置对话框进度条样式,设置为横向 pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //设置进度,随刷新进度改变 pd.setProgress(newProgress ); pd.show(); }else{ pd.setProgress(newProgress ); } } private void closeDialog() { if(pd!=null&&pd.isShowing()){ pd.dismiss(); pd=null; } } }); } //改写前进与后退的逻辑,使得物理返回按钮默认为上一页面 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode==KeyEvent.KEYCODE_BACK){ if(wv.canGoBack()){ wv.goBack(); return true; }else { System.exit(0); } } return super.onKeyDown(keyCode, event); } }
举报