有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    你可以通过Javascript解决这个问题。在网页中,添加JS代码以检测用户是否像这样滚动到底部(归功于this post

    $(window).scroll(function() {
        if($(window).scrollTop() + $(window).height() == $(document).height()) {
            Android.onUserScrolledToBottom()
        }
    });
    

    然后在Android应用程序中,创建一个Javascript接口类

    class MyJavascriptInterface {
        TermsAndCondActivity termsAndCondActivity;
    
        MyJavascriptInterface(TermsAndCondActivity termsAndCondActivity) {
            this.termsAndCondActivity = termsAndCondActivity;
        }
    
        @JavascriptInterface
        public void onUserScrolledToBottom() {
            termsAndCondActivity.onUserScrolledToBottom();
        }
    }
    

    最后,在Terms和Condition活动中,在onCreate中设置WebView,如下所示

    myWebView = view.findViewById(R.id.my_web_view);
    myWebView.setWebViewClient(new WebViewClient());
    myWebView.getSettings().setJavaScriptEnabled(true);
    myWebView.addJavascriptInterface(new MyJavascriptInterface(this), "Android");
    

    并添加以下方法

    void onUserScrolledToBottom() {
        button.setEnabled(true);
    }
    

    例如,我使用了一个活动,因为您没有指定对话框的代码,但您应该能够轻松地调整代码

  2. # 2 楼答案

    谢谢你的回答。我使用onScrollChange()方法实现了这一点

       webView.setOnScrollChangeListener(new View.OnScrollChangeListener() {
                        @Override
                        public void onScrollChange(View view, int i, int i1, int i2, int i3) {
    
                            if(i1>=webView.getContentHeight()){
                                dialog.getButton(AlertDialog.BUTTON_POSITIVE).setVisibility(View.VISIBLE);
    
                            }else {
                                dialog.getButton(AlertDialog.BUTTON_POSITIVE).setVisibility(GONE);
                            }
                        }
                    });