簡體   English   中英

加載WebView頁面時如何為警告對話框設置不同的標題?

[英]how to set different title for alert dialog when WebView page is loaded?

我想在加載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();

它完美的工作......我檢查后發帖-------

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

}

在此輸入圖像描述

然后它變為

在此輸入圖像描述

您只需使用方法setCustomTitle,當create os start加載webview時。

然后,當onLoadCompleted時,您可以再次將SetCustomTitle設置為第二個。

這是參考

請參閱此示例: 此鏈接

實現之后,您必須根據執行情況為警報標題設置不同的值。 所以它顯示了基於Webview的不同Dialog正在加載。

請參閱此示例了解其工作原理以及如何實現它。

我想在你調用alert.show()之前,你應該調用alert.create()。 這應該可以解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM