私の問題は、ウェブページがウェブビュー内にロードされていないことです。
mWebview.loadUrl("http://www.google.com");
はWebブラウザを起動します...
これは私の活動のコードです:
import Android.app.Activity;
import Android.os.Bundle;
import Android.webkit.WebView;
public class Main extends Activity {
private WebView mWebview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mWebview = new WebView(this);
mWebview.loadUrl("http://www.google.com");
setContentView(mWebview);
}
}
マニフェストに必要な許可を追加しました。
<uses-permission Android:name="Android.permission.INTERNET" />
これのおかげで post 、私は最終的に解決策を見つけました。コードは次のとおりです。
import Android.app.Activity;
import Android.os.Bundle;
import Android.webkit.WebResourceError;
import Android.webkit.WebResourceRequest;
import Android.webkit.WebView;
import Android.webkit.WebViewClient;
import Android.widget.Toast;
import Android.annotation.TargetApi;
public class Main extends Activity {
private WebView mWebview ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mWebview = new WebView(this);
mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript
final Activity activity = this;
mWebview.setWebViewClient(new WebViewClient() {
@SuppressWarnings("deprecation")
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
@TargetApi(Android.os.Build.VERSION_CODES.M)
@Override
public void onReceivedError(WebView view, WebResourceRequest req, WebResourceError rerr) {
// Redirect to deprecated method, so you can use it in all SDK versions
onReceivedError(view, rerr.getErrorCode(), rerr.getDescription().toString(), req.getUrl().toString());
}
});
mWebview .loadUrl("http://www.google.com");
setContentView(mWebview );
}
}
これを試して
webviewlayout.xml:
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/help_webview"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:scrollbars="none"
/>
あなたの活動:
WebView webView;
setContentView(R.layout.webviewlayout);
webView = (WebView)findViewById(R.id.help_webview);
webView.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.google.com");
更新
webView.setWebViewClient(new WebViewController());
をアクティビティに追加します。
WebViewControllerクラス:
public class WebViewController extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
public class WebViewController extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
webView.setWebViewClient(new WebViewController());
このコードを使用してください:-
Main.Xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical" Android:layout_width="fill_parent"
Android:layout_height="fill_parent" Android:background="@drawable/background">
<RelativeLayout Android:layout_width="fill_parent"
Android:layout_height="wrap_content" Android:background="@drawable/top_heading"
Android:id="@+id/rlayout1">
<TextView Android:layout_width="wrap_content"
Android:layout_centerVertical="true" Android:layout_centerHorizontal="true"
Android:textColor="#ffffff" Android:textSize="22dip"
Android:textStyle="bold" Android:layout_height="wrap_content"
Android:text="More Information" Android:id="@+id/txtviewfbdisplaytitle" />
</RelativeLayout>
<RelativeLayout Android:layout_width="fill_parent"
Android:layout_height="fill_parent" Android:layout_below="@+id/rlayout1"
Android:id="@+id/rlayout2">
<WebView Android:id="@+id/webview1" Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:layout_weight="1.0" />
</RelativeLayout>
</RelativeLayout>
MainActivity.Java
public class MainActivity extends Activity {
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
Button btnBack;
WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webview=(WebView)findViewById(R.id.webview1);
webview.setWebViewClient(new MyWebViewClient());
openURL();
}
/** Opens the URL in a browser */
private void openURL() {
webview.loadUrl("http://www.google.com");
webview.requestFocus();
}
}
質問がある場合は、このコードを試してください。
xMLファイルに移動して、webViewにidを指定し、Javaに次の行を貼り付けます。
public class Main extends Activity {
private WebView mWebview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.Your_layout_file_name);
mWebview = (WebView)findViewById(R.id.id_you_gave _to_your_wenview_in_xml);
mWebview.loadUrl("http://www.google.com");
}
}
これらのコード行を最初にAndroid Manifestファイルで許可を取得して統合するのは非常に簡単です
<uses-permission Android:name="Android.permission.INTERNET" />
次に、いくつかのコードを記述しますActivity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context="com.example.MainActivity">
<WebView xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/help_webview"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
/>
</LinearLayout>
次に、これらのコードをMainActivity.Javaに記述します
import Android.app.Activity;
import Android.content.Intent;
import Android.content.res.Resources;
import Android.net.Uri;
import Android.support.v7.app.AppCompatActivity;
import Android.os.Bundle;
import Android.view.KeyEvent;
import Android.view.Window;
import Android.webkit.WebResourceRequest;
import Android.webkit.WebSettings;
import Android.webkit.WebView;
import Android.webkit.WebViewClient;
import Android.widget.Toast;
public class MainActivity extends Activity{
private WebView mWebview ;
String link = "";// global variable
Resources res;// global variable
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_modernherbal_main);
mWebview = (WebView) findViewById(R.id.help_webview);
WebSettings webSettings = mWebview.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);
final Activity activity = this;
mWebview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
});
mWebview .loadUrl("http://www.example.com");
}
}
これを試して問題を解決するのに役立ちます
このようにすることができます。
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("Your URL goes here");
これを試して;
webView.loadData("<iframe src='http://www.google.com' style='border: 0; width: 100%; height: 100%'></iframe>", "text/html; charset=utf-8", "UTF-8");
アクティビティクラスに以下のメソッドを追加します。ここで、ブラウザはWebViewオブジェクトにすぎません。
これで、Webページを簡単に賢く見ることができます。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && browser.canGoBack()) {
browser.goBack();
return true;
}
return false;
}