Подтвердить что ты не робот

Android: обнаружение, когда ScrollView Hits Bottom

Возможный дубликат:
Как вызвать событие, когда scrollView достигает нижней части Android?

Я пытаюсь в течение часа или около того обнаруживать, когда мой scrollView попадает в нижнюю часть экрана. Из-за различных размеров экрана и того, что не связано с Android, я не могу просто сказать это внизу, когда его Y-позиция достигает определенного значения, но нет метода, который обнаруживает, когда он находится внизу, который я нашел.

Я уверен, что есть простое решение для этого, вычитая высоту представления какой-либо другой переменной или что-то в этом роде, но по какой-то причине она просто не нажимает на меня. Любые идеи будут оценены, спасибо.

4b9b3361

Ответ 1

Попробуйте следующее:

@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) 
{
    // Grab the last child placed in the ScrollView, we need it to determinate the bottom position.
    View view = (View) getChildAt(getChildCount()-1);

    // Calculate the scrolldiff
    int diff = (view.getBottom()-(getHeight()+getScrollY()));

    // if diff is zero, then the bottom has been reached
    if( diff == 0 )
    {
        // notify that we have reached the bottom
        Log.d(ScrollTest.LOG_TAG, "MyScrollView: Bottom has been reached" );
    }

    super.onScrollChanged(l, t, oldl, oldt);
}

Чтобы реализовать это, расширьте ScrollView, а затем переопределите метод onScrollChanged (унаследованный от View).

Ссылка: Android: понимание, когда ScrollView достиг дна