LinearLayout onclick打开WebView而不是浏览器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LinearLayout onclick打开WebView而不是浏览器相关的知识,希望对你有一定的参考价值。
我目前有4个按钮,一个将使用Intent打开Web浏览器。我想用webview打开浏览器。我已经看到了这个代码,但我不知道如何实现它。
如果我使用此代码:
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new MyWebViewClient());
并更改xml文件以包含WebView,它将此添加到我不想要的当前主屏幕。我只想在用户点击按钮后使用WebView。我该怎么做呢?
XML:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/android"
>
<ScrollView
android:id="@+id/settingsScrollView"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
>
</ScrollView>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/Info"
android:layout_height="100dp"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/Info"
android:background="@drawable/button_colour"
android:textSize="14sp"
android:textStyle="bold"
/>
<Button
android:id="@+id/Search"
android:layout_height="100dp"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/Search"
android:background="@drawable/button_colour"
android:textSize="14sp"
android:textStyle="bold"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/Facebook"
android:layout_height="100dp"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/Facebook"
android:background="@drawable/button_colour"
android:textSize="14sp"
android:textStyle="bold"
/>
<Button
android:id="@+id/Twitter"
android:layout_height="100dp"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/Twitter"
android:background="@drawable/button_colour"
android:textSize="14sp"
android:textStyle="bold"
/>
</LinearLayout>
MainActivity:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.Search);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent myWebLink = new Intent(android.content.Intent.ACTION_VIEW);
myWebLink.setData(Uri.parse("http://www.google.com"));
startActivity(myWebLink);
}
});
}
答案
你可以这样做:
你的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"
android:background="@drawable/android" >
<ScrollView
android:id="@+id/settingsScrollView"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
>
</ScrollView>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/Info"
android:layout_height="100dp"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/Info"
android:background="@drawable/button_colour"
android:textSize="14sp"
android:textStyle="bold"
/>
<Button
android:id="@+id/Search"
android:layout_height="100dp"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/Search"
android:background="@drawable/button_colour"
android:textSize="14sp"
android:textStyle="bold"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/Facebook"
android:layout_height="100dp"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/Facebook"
android:background="@drawable/button_colour"
android:textSize="14sp"
android:textStyle="bold"
/>
<Button
android:id="@+id/Twitter"
android:layout_height="100dp"
android:layout_width="0dp"
android:layout_weight="1"
android:text="@string/Twitter"
android:background="@drawable/button_colour"
android:textSize="14sp"
android:textStyle="bold"
/>
webview.xml
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
主要信息
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.Search);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, WebViewActivity.class);
startActivity(intent);
}
});
}
WebViewActivity
public class WebViewActivity extends Activity {
private WebView webView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setjavascriptEnabled(true);
webView.loadUrl("http://www.google.com");
}
另一答案
你需要创建单独的qazxsw poi然后只显示qazxsw poi并在Activity
上传递WebView
点击:
Intent Extra's
主要信息
Button
WebViewActivity
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
以上是关于LinearLayout onclick打开WebView而不是浏览器的主要内容,如果未能解决你的问题,请参考以下文章
OnClickListener onClick=true 和选择器
如果将 Webview 作为子项,则布局 onClick 事件不起作用
Android:对超过 1 个按钮使用带有 setOnClickListener/onClick 的 SWITCH 语句?