Android WebView如何重新装载Url 50

 我来答
百度网友ed3db75
2016-08-23 · TA获得超过3722个赞
知道大有可为答主
回答量:1600
采纳率:66%
帮助的人:475万
展开全部

可以在界面上配置一个EditText,一个Button,EditText用于输入网址,Button用于访问该网址的动作,在Button的onClickListener事件中编写处理代码

下面是一个界面效果和示例代码:

public class WebActivity extends Activity{
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.weblayout);
  
  final WebView web=(WebView)findViewById(R.id.webView1);
  ProgressBar progress=(ProgressBar)findViewById(R.id.progressBar1);
  final EditText ed=(EditText)findViewById(R.id.editText1);
  Button btn=(Button)findViewById(R.id.button1);
  
  String url="http://www.baidu.com";
  initwebView(web,url,progress);
  
  btn.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View arg0) {
    // TODO Auto-generated method stub
    if(!ed.getText().toString().equals("")){
     web.loadUrl("http://"+ed.getText().toString());
    }
   }
  });
 }
 
 public void initwebView(final WebView webView,final String URL,final ProgressBar progressBar){
        webView.getSettings().setJavaScriptEnabled(true);//允许展示js脚本
     webView.getSettings().setDefaultTextEncodingName("GB2312");//默认编码格式
     webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);//是否允许使用缓存,这里不使用cache
     webView.loadUrl(URL);//加载网页
     webView.setWebViewClient(new WebViewClient(){
      @Override
   public void onPageFinished(WebView view, String url) {
    // TODO Auto-generated method stub
    super.onPageFinished(view, url);
   }
      @Override       
     public boolean shouldOverrideUrlLoading(WebView view, String url) {
       view.loadUrl(url);
       return true;
      }
     });
     webView.setWebChromeClient(new WebChromeClient(){
      @Override
   public void onReceivedTitle(WebView view, String title) {
    // TODO Auto-generated method stub
       //Qiuchangdaohang.this.setTitle(title);
    super.onReceivedTitle(view, title);
   }
      @Override
   public void onProgressChanged(WebView view, int newProgress) {
    // TODO Auto-generated method stub
       progressBar.setVisibility(1);
                progressBar.setProgress(newProgress);
                progressBar.postInvalidate();
                if (newProgress == 100) {
                 progressBar.setVisibility(View.GONE);//完全隐藏
                 newProgress=0;
                }
       super.onProgressChanged(view, newProgress);
   } 
     });
 }
}
        });

匿名用户

2016-08-23
展开全部
android webview重新装载url,只需要再写一次loadurl即可,你可以监听页面是否加载完,提示一个加载进度条。
追问
webView.loadUrl(HttpUtil.BASE_URL+"mainPage.do");   这样的?我试了不行走不通,我的需求是这样的,先请求网页得到返回的Url字符串,然后重新加载新的Url
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式