PopupWindow 내에 WebView를 포함하려고 시도 중입니다. WebView는 Wikipedia 페이지를 표시합니다.Android Webview Simulator 대 PopupWindow 내의 장치
흥미롭게도 WebView는 시뮬레이터를 사용할 때 의도 한대로 작동합니다. 내 테스트 장치 (원래 ASUS Transformer)에서 응용 프로그램을 사용할 때 팝업 창에 웹 페이지가 표시되는 대신 팝업이 나타나고 내 로더가로드 진행률을 표시하지만 기본 웹 브라우저가 나타나 웹 페이지를 표시합니다 . 다시 말하지만, 팝업 창 내에 페이지가 표시되는 시뮬레이터에서 의도 한대로 작동합니다. 나는 여기에 많은 게시물을 포함하여 많은 사이트를 보았고, 나는 아무것도 시도하지 않았다. 나는 다른 누군가가 자신의 앱 개발 중 하나에서 이것을 보길 바란다.
I 버튼, PopupWindow 및 웹보기의 설정에 구현 한 코드는 다음과 같습니다
WikiButton = (ImageButton)findViewById(R.id.WikiButton);
htmlProgress = (ProgressBar)elemWebView.findViewById(R.id.htmlProgressBar);
htmlShowing = -1;
// Necessary for the Info Popup window
infoWebViewPopup = new PopupWindow(infoWebView = inflater.inflate(R.layout.property_info_layout, null, false), 1105, 685, true);
infoWebViewPopup.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
infoWebViewPopup.setFocusable(false);
infoWebHTMLView = (WebView)infoWebView.findViewById(R.id.infoWebHTMLView);
WebSettings mySettingsInfo = elemWebHTMLView.getSettings();
mySettingsInfo.setJavaScriptEnabled(true);
Button 구성 작업 코드는 다음과 같습니다
WikiButton.setOnClickListener(new View.OnClickListener(){
infoWebHTMLView.clearView();
String urlToGet = "http://en.wikipedia.org/wiki/" + "SOME OTHER STRING HERE";
// Load the URL into the web view
infoWebHTMLView.loadUrl(urlToGet);
// Calculate posX and posY for placement
infoWebViewPopup.setOutsideTouchable(false);
infoWebViewPopup.showAtLocation(findViewById(R.id.properties_view), Gravity.LEFT | Gravity.TOP, posX, posY);
}
다른 코드는 내가 웹보기 위해 시행하고있다 :
infoWebHTMLView.setWebChromeClient(new WebChromeClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return true;
}
public void onProgressChanged(WebView view, int progress) {
elemWebHTMLView.invalidate();
htmlProgress.setProgress(progress);
if(progress >= 100){
htmlProgress.setVisibility(View.INVISIBLE);
}else{
htmlProgress.setVisibility(View.VISIBLE);
}
}
});
PopupWindow, WebView 및 Button은 모두 XML 파일에 정의되어 있습니다.
모든 도움을 주시면 감사하겠습니다.
감사합니다. 감사합니다 !!! 흥미롭게도 @Override는별로 중요하지 않지만이 오버라이드는 실제로 내 문제를 해결했습니다. – trumpetlicks