【发布时间】:2018-03-27 00:50:58
【问题描述】:
我是 Android 应用程序开发的新手。通过搜索许多链接并阅读 StackOverflow 上的讨论,我能够通过按钮链接创建 WebView。但是虽然我尝试了很多,但我无法成功在 WebView 中使用多 URL。我的意思是如何根据特定的按钮链接在一个 web 视图中显示不同的 URL。例如:如果单击按钮 1,它将显示 google.com,按钮 2 将在 webview 中显示 facebook.com 等。我编码如下。
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Loading from a Webpage"
android:layout_margin="10dp"
android:onClick="clickweb"/>
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Loading from a Webpage"
android:layout_margin="10dp"
android:onClick="clickweb"/>
</LinearLayout>
MainActivity.java
公共类 MainActivity 扩展 Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void clickweb(View v) {
Toast.makeText(MainActivity.this, "Web view selected", Toast.LENGTH_LONG).show();
Intent i1 = new Intent(MainActivity.this,LoadWeb.class);
startActivity(i1);
}
}
LoadWeb.java
@SuppressLint("SetJavaScriptEnabled")
public class LoadWeb extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webviewex);
// Get reference of WebView from layout/webviewex.xml
mWebView = (WebView) findViewById(R.id.webView1);
setUpWebViewDefaults(mWebView);
// Load website
mWebView.loadUrl("https://www.google.co.in");
}
//Convenience method to set some generic defaults for a
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void setUpWebViewDefaults(WebView webView) {
WebSettings settings = webView.getSettings();
// Enable Javascript
settings.setJavaScriptEnabled(true);
// Use WideViewport and Zoom out if there is no viewport defined
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
// Enable pinch to zoom without the zoom buttons
settings.setBuiltInZoomControls(true);
if(Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) {
// Hide the zoom controls for HONEYCOMB+
settings.setDisplayZoomControls(false);
}
// Enable remote debugging via chrome://inspect
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
}
}
}
webviewex.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<WebView
android:id="@+id/webView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
【问题讨论】:
-
你确定你都试过了吗?您需要致电
mWebView.loadUrl应该可以正常工作。用不同的 URL 点击按钮再次调用它。 -
顺便说一句,每个链接都打开相同的 url 'google.co.in'。也许,在分配下一个 url 时(我的)有问题。假设如何将 facebook.com 分配给按钮 2,我会感到困惑吗?感谢您的回复。
-
使 mWebView 成为成员变量,当点击 facebook 按钮时,使用新的 url 调用 mWebView.loadUrl()
标签: java android xml android-layout webview