2011-12-26 1 views
6

Я хочу установить другой заголовок для предупреждения, когда загружается страница WebView, но ее не работает.как установить другой заголовок для диалогового окна предупреждения при загрузке страницы WebView?

вот фрагмент кода:

final AlertDialog.Builder alert = new AlertDialog.Builder(
     mContext); 
// alert.setTitle("Loading..."); 
final WebView wv = new WebView(mContext); 

wv.loadUrl("http://10.0.51.133/androidview/"); 
wv.getSettings().setJavaScriptEnabled(true); 
wv.setVerticalScrollBarEnabled(false); 

WebViewClientLoader loader= new WebViewClientLoader(alert); 
wv.setWebViewClient(loader); 
wv.setWebViewClient(new WebViewClient() { 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     // TODO Auto-generated method stub 
     alert.setTitle("Loading..."); 
     super.onPageFinished(view, url); 
    } 

    @Override 
    public void onPageStarted(WebView view, String url, 
      Bitmap favicon) { 
     // TODO Auto-generated method stub 
     alert.setTitle("Finished"); 
     super.onPageStarted(view, url, favicon); 
    } 
}); 

private class webviewclient extends WebViewClient{ 

} 

wv.loadUrl("file:///android_asset/Like.html"); 
alert.setView(wv); 

alert.show(); 

ответ

21

Его совершенно work..i утра проводки после проверки -------

public class MyActivity extends Activity{ 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    WebView web=new WebView(this); 
    web.setWebViewClient(new WebViewClient(){ 

     @Override 
     public void onLoadResource(WebView view, String url) { 
      super.onLoadResource(view, url); 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 
      alert.setTitle("Pages Finished"); 
     } 

     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      super.onPageStarted(view, url, favicon); 
      alert.setTitle("Pages Started"); 
     } 

    }); 
    web.setWebChromeClient(new WebChromeClient(){ 

    }); 
    web.loadUrl("http://www.google.com"); 
    builder=new AlertDialog.Builder(this); 
    builder.setView(web); 
    builder.setTitle("Loading..."); 
    alert=builder.create(); 
    alert.show(); 
} 
AlertDialog alert; 
Builder builder; 
@Override 
protected void onDestroy() { 
    super.onDestroy(); 

} 

@Override 
protected void onPause() { 
    super.onPause(); 
} 

}

enter image description here

, а затем она переходит в

enter image description here

4

Вы просто должны использовать метод setCustomTitle, при создании ОС начинают загружать WebView.

Затем, когда onLoadCompleted, вы можете снова установитьCustomTitle на второй.

Вот reference

2

Смотрите пример: THIS LINK

После реализации, что вы должны установить другое значение для предупреждения заголовка на основе исполнения. Таким образом, он показывает, что разные Диалоги на основе Webview загружаются.

См. this example, как это работает и как его реализовать.

2

Я думаю, прежде чем вы вызове alert.show(), вы ld вызвать alert.create(). Это должно решить вашу проблему.

Смежные вопросы