簡體   English   中英

Android Webview:單擊webview時應打開新活動

[英]Android Webview: On click of webview new activity should open

我是Android開發的新手,並且遇到了android webview問題。 我正試圖從Webview上單擊回來,但是它不起作用。 請檢查我的代碼並告訴我,我在做什么錯。

package eukti.myafterclass.ui;

import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.MotionEvent;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.Toast;

import java.util.logging.Handler;

import eukti.myafterclass.R;

public class PromotionActivity extends AppCompatActivity  implements View.OnTouchListener {

    private static final int CLICK_ON_WEBVIEW = 1;
    private static final int CLICK_ON_URL = 2;

    private WebView wv1;
    private WebViewClient client;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_promotion);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });

        /*Button rbutton = (Button) findViewById(R.id.redirectbutton);
        rbutton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent(PromotionActivity.this, DashBoardMainActivity.class);
                startActivity(intent);
                finish();
            }

        });*/

        wv1=(WebView)findViewById(R.id.webview);
        wv1.setWebViewClient(new MyBrowser());

        String url = "http://myafterclass.com/privacy-policy/";

        wv1.getSettings().setLoadsImagesAutomatically(true);
        wv1.getSettings().setJavaScriptEnabled(true);
        wv1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
        wv1.loadUrl(url);

    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (v.getId() == R.id.webview && event.getAction() == MotionEvent.ACTION_DOWN){
            Intent intent = new Intent(PromotionActivity.this, DashBoardMainActivity.class);
            startActivity(intent);
            finish();
        }
        return false;
    }

    public boolean handleMessage(Message msg) {
        if (msg.what == CLICK_ON_URL){
            Intent intent = new Intent(PromotionActivity.this, DashBoardMainActivity.class);
            startActivity(intent);
            finish();
            return true;
        }
        if (msg.what == CLICK_ON_WEBVIEW){
            //Toast.makeText(this, "WebView clicked", Toast.LENGTH_SHORT).show();
            Intent intent = new Intent(PromotionActivity.this, DashBoardMainActivity.class);
            startActivity(intent);
            finish();
            return true;
        }
        return false;
    }

    private class MyBrowser extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }

}

如果您需要其他詳細信息,可以詢問我。

您忘記了這一行wv1.setOnTouchListener(this);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM