2015-04-15 37 views
0

enter image description here網頁視圖裏面彈出窗口的Android

嗨,我 有一個問題如上圖中,左邊有一個網頁視圖內的按鈕。當我點擊按鈕時,應該會出現android中的popup窗口。在那個彈出窗口中,我需要一個webview。 現在它的所有工作正常,沒有在彈出窗口中的web視圖。

這個彈出窗口是由JavaScript接口

public class AppJavaScriptProxy { 

    private Activity activity = null; 

    public AppJavaScriptProxy() { 

    } 

    @JavascriptInterface 
    public String showMessage(String footNoteNo) { 
     Integer footNoteNoInt = Integer.parseInt(footNoteNo); 
     footnote = myDbHelper.getFootnote(chapterNumber, footNoteNoInt); 

     try { 

      LayoutInflater inflater = (LayoutInflater) HomeActivity.this 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      View layout = inflater.inflate(R.layout.footnote_popup, 
        (ViewGroup) findViewById(R.id.popup_footnote)); 
      popup = new PopupWindow(layout, ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT, true); 
      popup.showAtLocation(layout, Gravity.CENTER, 0, 0); 
      txt_footnote=(TextView) layout.findViewById(R.id.text_footnote); 
      txt_footnote.setTypeface(malayalamfont); 
      popup_close = (ImageButton) layout.findViewById(R.id.btn_close_popup); 
      txt_footnote.setText(footnote); 

      final WebView footnoteWView = (WebView) layout.findViewById(R.id.footnotePopupWebview); 
      footnoteWView.getSettings().setJavaScriptEnabled(true); 
      footnoteWView.loadUrl("file:///android_asset/www/footNotePopup.html"); 
      footnoteWView.clearCache(true); 

      footnoteWView.setWebViewClient(new WebViewClient(){ 
       public void onPageFinished(WebView view, String url){      footnoteWView.loadUrl("javascript:getFootnote('" + footnote + "')"); 
       } 
      }); 
      popup_close.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        popup.dismiss(); 
       } 
      }); 
     } 
     catch (Exception e) { 
      e.printStackTrace(); 
     }; 
    } 

} 

請幫助

+0

請提供更多的細節,以你的問題是什麼。 – Necreaux

回答

3

試試這個調用。

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

WebView wv = new WebView(this); 
wv.loadUrl("http:\\www.yourweb.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
public class List extends ActionBarActivity implements OnClickListener { 
LinearLayout layoutOfPopup; 
PopupWindow popupMessage; 
Button popupButton; 
WebView popupText; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_list); 
init(); 
popupInit(); 
public void init() { 
    popupButton = (Button) findViewById(R.id.textview1); 
    popupText = new WebView(this); 
    popupText.setBackgroundColor(Color.TRANSPARENT); 
    String text = "<html><body style=\"text-align:justify\"> %s </body></Html>"; 
    String summary = "Some text go here</body></html>"; 
    popupText.loadData(String.format(text, summary), "text/html", "utf-8"); 
    popupText.setVerticalScrollBarEnabled(true); 
    popupText.setHorizontalScrollBarEnabled(true); 
    insidePopupButton = new Button(this); 
    insidePopupButton.setText("(X)Close"); 
    insidePopupButton.setBackgroundResource(R.drawable.myborder); 
    layoutOfPopup = new LinearLayout(this); 

    LayoutParams lpView = new LayoutParams(LayoutParams.WRAP_CONTENT, 
      LayoutParams.WRAP_CONTENT); 

    layoutOfPopup.addView(insidePopupButton, lpView); 
    layoutOfPopup.addView(popupText); 
    layoutOfPopup.setOrientation(1); 
    layoutOfPopup.setBackgroundColor(Color.WHITE); 
} 

public void popupInit() { 
    popupButton.setOnClickListener(this); 
    insidePopupButton.setOnClickListener(this); 
    popupMessage = new PopupWindow(layoutOfPopup, 
      LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 
    popupMessage.setContentView(layoutOfPopup); 

} 
@Override 
public void onClick(View v) { 
    //Code goes here and to open the show as drop down 
and dismiss 
}