2011-12-26 32 views
6

Tôi muốn đặt tiêu đề khác cho hộp thoại cảnh báo khi trang WebView được tải nhưng không hoạt động.cách đặt tiêu đề khác nhau cho hộp thoại cảnh báo khi trang WebView được tải?

đây là đoạn mã:

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(); 

Trả lời

21

của nó một cách hoàn hảo work..i am gửi bài sau khi kiểm tra -------

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

và sau đó nó thay đổi để

enter image description here

4

Bạn chỉ cần sử dụng phương pháp setCustomTitle, khi tạo os bắt đầu nạp webview.

Sau đó, khi onLoadCompleted, bạn có thể setCustomTitle lại thành thứ hai.

Đây là reference

2

Xem Ví dụ này: THIS LINK

Sau khi thực hiện điều đó, bạn phải thiết lập các giá trị khác nhau cho danh hiệu cảnh báo dựa trên việc thực hiện. Vì vậy, nó cho thấy hộp thoại khác nhau dựa trên Webview đang tải.

Xem this example để biết cách hoạt động và cách triển khai.

2

Tôi nghĩ trước khi bạn gọi alert.show(), bạn shou ld gọi alert.create(). Điều này sẽ giải quyết vấn đề của bạn.

Các vấn đề liên quan