[android] loadurl을 호출하면 Android 웹보기가 브라우저를 시작합니다.
Activity
에 제목과 웹보기가있는를 만들었습니다 LinearLayout
. 이 onResume()
방법에서는을 호출합니다 webView.loadUrl(url)
. 문제는 활동이 먼저 나머지 화면을 비운 상태로 제목을 표시 한 다음 장치 브라우저가 URL 페이지와 함께 시작된다는 것입니다. 내가보고 싶은 WebView
것은 제목 아래 에 표시되는 페이지 입니다. 무엇이 문제 일 수 있습니까?
편집 : 좋아, 추가 검색을 하고이 것을 찾았습니다.
여기 에서 WebView
튜토리얼을 가리 킵니다 .
웹 클라이언트를 구현하고 설정하십시오.
답변
Maudicus와 Hit의 제안에 따라 내 질문에 대답하십시오.
여기서 WebView 튜토리얼을 확인 하십시오 . 웹 클라이언트를 구현하고 loadUrl 전에 설정하십시오 . 가장 간단한 방법은 다음과 같습니다.
myWebView.setWebViewClient(new WebViewClient());
웹 컨텐츠에 대한 고급 처리를 위해 ChromeClient를 고려하십시오.
답변
이것을 사용하십시오 :
lWebView.setWebViewClient(new WebViewClient());
답변
이처럼 사용하십시오 :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dedline);
WebView myWebView = (WebView) findViewById(R.id.webView1);
myWebView.setWebViewClient(new WebViewClient());
myWebView.loadUrl("https://google.com");
}
답변
당신의 활동을 이렇게 만드십시오.
public class MainActivity extends Activity {
WebView browser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// find the WebView by name in the main.xml of step 2
browser=(WebView)findViewById(R.id.wvwMain);
// Enable javascript
browser.getSettings().setJavaScriptEnabled(true);
// Set WebView client
browser.setWebChromeClient(new WebChromeClient());
browser.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
// Load the webpage
browser.loadUrl("http://google.com/");
}
}
답변
나는 같은 문제에 직면하고 WebView에 대한 Android 공식 문서 솔루션을 찾았습니다.
여기 내 onCreateView()
방법이 있고 여기에 URL을 여는 두 가지 방법을 사용했습니다.
방법 1 은 브라우저에서
URL을 열고
방법 2 는 원하는 WebView에서 URL을 엽니 다
.
그리고 내 응용 프로그램에 방법 2를 사용하고 있으며 이것은 내 코드입니다.
public class MainActivity extends Activity {
private WebView myWebView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_webpage_detail, container, false);
// Show the dummy content as text in a TextView.
if (mItem != null) {
/* Method : 1
This following line is working fine BUT when we click the menu item then it opens the URL in BROWSER not in WebView */
//((WebView) rootView.findViewById(R.id.detail_area)).loadUrl(mItem.url);
// Method : 2
myWebView = (WebView) rootView.findViewById(R.id.detail_area); // get your WebView form your xml file
myWebView.setWebViewClient(new WebViewClient()); // set the WebViewClient
myWebView.loadUrl(mItem.url); // Load your desired url
}
return rootView;
} }
답변
간단히 대답하면 다음과 같이 사용할 수 있습니다
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webView = new WebView(this);
setContentView(webView);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("http://www.google.com");
}
}
답변
이 코드를 사용해보십시오 …
private void startWebView(String url) {
//Create new webview Client to show progress dialog
//When opening a url or click on link
webView.setWebViewClient(new WebViewClient() {
ProgressDialog progressDialog;
//If you will not use this method url links are opeen in new brower not in webview
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
//Show loader on url load
public void onLoadResource (final WebView view, String url) {
if (progressDialog == null) {
// in standard case YourActivity.this
progressDialog = new ProgressDialog(view.getContext());
progressDialog.setMessage("Loading...");
progressDialog.show();
}
}
public void onPageFinished(WebView view, String url) {
try{
if (progressDialog.isShowing()) {
progressDialog.dismiss();
progressDialog = null;
}
}catch(Exception exception){
exception.printStackTrace();
}
}
});
// Javascript inabled on webview
webView.getSettings().setJavaScriptEnabled(true);
// Other webview options
/*
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);
webView.getSettings().setBuiltInZoomControls(true);
*/
/*
String summary = "<html><body>You scored <b>192</b> points.</body></html>";
webview.loadData(summary, "text/html", null);
*/
//Load url in webview
webView.loadUrl(url);
}