繁体   English   中英

如何使用 WebView 为 onClickListener 设置线性布局

[英]How to Set Linear Layout with WebView for onClickListener

我有一个带有 webview 的线性布局。 我已将 LinearLayout 的 id 设置为“lay001”。 我的意图是设置布局的 onClickListener,以便 onclick,意图将数据发送到 webview,然后发送到我指定的 url。

我所有的努力让它发挥作用都失败了。 请帮我设置java代码。 谢谢

活动_main.xml

<LinearLayout
        android:id="@+id/lay001"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_weight="1"
        android:layout_margin="4dp"
        android:orientation="vertical"
        android:background="@drawable/layout_bg1">

                <WebView
                    android:id="@+id/webview001"
                    android:layout_width="100dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:accessibilityPaneTitle="The Liturgy"
                    android:layout_marginTop="2dp">
                </WebView>

                <TextView
                    android:id="@+id/textView001"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="top"
                    android:text="Anglican Hymns Tunes"
                    android:textSize="10sp"
                    android:textStyle="italic|bold"
                    android:textAlignment="center"
                    android:textColor="#DD1A1A"/>
</LinearLayout>

主活动.java

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

    private WebView webview;
    private LinearLayout myLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        myLayout.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                     webview = (WebView001) findViewById(R.id.webview001);
                     webview.setWebViewClient(new WebViewClient());
                     webview.loadUrl("http://www.google.com");
                }
            }
        });
    }
} 

您缺少线性布局的 findViewById()。

试试这个:

   private LinearLayout myLayout;
   myLayout= (LinearLayout) findViewById(R.id.lay001);

也改变这一点:

    webview = (WebView) findViewById(R.id.webview001);

加载网址:

 myLayout.setOnClickListener(new OnClickListener() 
     {

        @Override
        public void onClick(View v)
        {
          mWebview.loadUrl("your url");
        }
    }); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM