我是Android新手。Android:獲取WebView的滾動位置
我想簡單地知道用戶在頁面上滾動的位置。當網頁上的某個點出現在屏幕的底部時,我想觸發一個事件。但是這段代碼會導致異常。我知道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;
}
}
感謝您的回答! 這是一個NullPointerException。 調試器停在行「yPos = webview.getScrollY()」,但我不知道空指針來自哪裏。 至於你的筆記,我使用getScrollY(),所以你已經確認這是正確的方法,但我使用它的方式顯然是錯誤的。 – Dave 2010-03-16 19:38:43
事實上,我發現在「yPos = webview.getScrollY()」這行,「webview」變量爲null,即使在onCreate方法中,「WebView webview = new WebView(this);」工作中。 「webview」變量是否沒有擴展出onCreate方法的範圍?如果不是,我該如何處理它? – Dave 2010-03-16 19:43:28
@Dave 它應該是webview = new WebView(this);而不是WebView webview =新的WebView(this);在onCreate(..)中。 – yanchenko 2010-03-16 22:38:52