2012-02-07 7 views

Respuesta

94

Aquí es ejemplo: código de

AlertDialog.Builder alert = new AlertDialog.Builder(this); 
alert.setTitle("Title here"); 

WebView wv = new WebView(this); 
wv.loadUrl("http:\\www.google.com"); 
wv.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 

     return true; 
    } 
}); 

alert.setView(wv); 
alert.setNegativeButton("Close", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int id) { 
     dialog.dismiss(); 
    } 
}); 
alert.show(); 
+0

gracias realmente ahora trabajando con alertdialog, ¿por qué ahora también funciona con popupwindow? - user1194088 ahora mismo –

+0

no funciona con popupwindow? –

+0

¿Qué sucede si quiero mostrar un indicador de carga mientras se carga la página? – user1940676

4

Necesita anular setWebViewClient() ..

mWebView = (WebView) view.findViewById(R.id.wv1); 
mWebView.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return false; 
    } 
}); 
mWebView.loadUrl(mUrl); 
0

PopupWindow:

@Override 
public void onWindowFocusChanged(boolean hasFocus) 
{ 
    try 
    { 
     int[] location = new int[2]; 

     (xml item where you want it to appear).getLocationOnScreen(location); 
     //Get x and y positions 
     p = new Point(); 
     p.x = location[0]; 
     p.y = location[1]; 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
} 
private void popTab(final Activity myActivity) 
{ 
    popupWidth = 350; 
    popupHeight = 600; 

    popup.setWidth(popupWidth); 
    popup.setHeight(popupHeight); 

    // Inflate the popup_layout.xml 
    LinearLayout viewGroup = (LinearLayout) myActivity.findViewById(R.id.myMainLayoutID); 
    LayoutInflater layoutInflater = (LayoutInflater) myActivity 
           .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View layoutTab = layoutInflater.inflate(R.layout.mylayout, viewGroup); 

    //Get webview from xml 
    WebView wv = (WebView)layoutTab.findViewById(R.id.webView2); 

    // Creating the PopupWindow 
    final PopupWindow popup = new PopupWindow(layoutTab); 
     //Set to view 
    popup.setContentView(layoutTab); 

     //Setup webview 
    wv.loadUrl("http:\\www.google.com"); 
    wv.setWebViewClient(new WebViewClient() 
    { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) 
     { 
      view.loadUrl(url); 

      return true; 
     } 
    }); 

    //Add some animation from style folder 
    popup.update(); 
    popup.setAnimationStyle(R.style.Animation); 
    popup.setFocusable(true); 

    popup.showAtLocation(layoutTab, Gravity.NO_GRAVITY, p.x, p.y); 
} 

Uso popTab(), donde alguna vez me gusta. Espero que esto ayude con la ventana emergente.

Cuestiones relacionadas