我想在加载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();
答案 0 :(得分:21)
完美的工作......我在检查后发帖-------
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();
}
}
然后它变为
答案 1 :(得分:4)
你刚刚使用方法setCustomTitle,当create os start加载webview时。
然后,当onLoadCompleted时,你可以再次将setCustomTitle设置为第二个。
以下是reference
答案 2 :(得分:2)
请参阅此示例:THIS LINK
实施后,您必须根据执行情况为警报标题设置不同的值。所以它显示了基于Webview的不同Dialog正在加载。
请参阅this example了解其工作原理以及实施方法。
答案 3 :(得分:2)
我想在你调用alert.show()之前,你应该调用alert.create()。 这应该可以解决你的问题。