ScrollViewが画面の最下部に到達したことを検出するために、1時間ほど試みました。さまざまな画面サイズとAndroidに関係しないもののため、Y位置が特定の値に達したときに底にあると単純に言うことはできませんが、底にあることを検出する方法はありません。
私はこれに対する簡単な解決策があると確信しています、他の変数または何かによってビューの高さを減算しますが、何らかの理由でそれは私のためにクリックしていません。どんなアイデアでも感謝します、ありがとう。
これを試して:
@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
から継承)をオーバーライドします。