Android:获取WebView的滚动位置

Dav*_*ave 5 android webview

我是Android新手。

我只想知道用户在页面上的滚动位置。当网页上的某个点出现在屏幕底部时,我想触发一个事件。但是此代码会导致异常。我知道WebView从View继承了getScrollY()。我执行不正确吗?

提前致谢。

public class Scroll extends Activity {

    public WebView webview;
    public float yPos;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        WebView webview = new WebView(this);
        setContentView(webview);
        webview.loadUrl("file:///android_asset/Scroll.html");
    }


    public boolean onTouchEvent(final MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_MOVE) {
            yPos = webview.getScrollY();
            Log.v("Scroll", "yPos = " + yPos); 
        }
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

yan*_*nko 3

例外的是?
以下是我的一个应用程序中关于 WebView 屏幕高度的注释:

// current position (top) = getScrollY();  
// max position = getContentHeight();  
// screen height = getHeight();
Run Code Online (Sandbox Code Playgroud)

  • @Dave 应该是 webview = new WebView(this); 而不是 WebView webview = new WebView(this); 在 onCreate(..) 中。 (8认同)