Я новичок в Android.Android: получите позицию прокрутки WebView
Я хотел бы просто знать, где на странице прокручивается пользователь. Когда в нижней части экрана появляется определенная точка на веб-странице, я хочу вызвать событие. Но этот код вызывает исключение. Я знаю, что WebView наследует 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
На самом деле я обнаружил, что в строке «yPos = webview.getScrollY()» переменная «webview» равна null, хотя в методе onCreate «WebView webview = новый WebView (this)»; работает. Не имеет ли переменная «webview» область действия, которая выходит из метода onCreate? А если нет, как мне получить ручку? – Dave
@Dave Это должен быть webview = новый WebView (это); вместо WebView webview = новый WebView (это); in onCreate (..). – yanchenko