0
私のコードは大丈夫だと思いますが、何らかの理由でこのエラーがあります。これは私のコードです:エラー:シンボルメソッドfindFirstVisibleItemPosition()を見つけることができません
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener()
{
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy)
{
if(dy > 0) //check for scroll down
{
visibleItemCount = mLayoutManager.getChildCount();
totalItemCount = mLayoutManager.getItemCount();
pastVisiblesItems = mLayoutManager.findFirstVisibleItemPosition();
if (loading)
{
if ((visibleItemCount + pastVisiblesItems) >= totalItemCount)
{
loading = false;
Log.v("...", "Last Item Wow !");
//Do pagination.. i.e. fetch new data
}
}
}
}
});
私はすでにandroid.support.v7.widget.LinearLayoutManagerをインポートし、RecyclerView.LayoutManager
でfindFirstVisibleItemPosition
(documentationを参照)のような方法がないので
private RecyclerView recyclerView;
private RecyclerView.LayoutManager mLayoutManager;
か( 'LinearLayoutManager'ので驚きを拡張)' GridLayoutManager'または 'StaggeredGridLayoutManagerにこの
からあなたの宣言を変更 findFirstVisibleItemPosition
を使用するようにLinearLayoutManagerを使用する必要があります'。基本的には、サポートlibによって提供されるすべての実装の標準的なメソッドですが、基本クラスにはありません。 –
@MarcinKozińskiいいえ、 'LinearLayoutManager'だけが' findFirstVisibleItemPosition'メソッドを持ち、 'StaggeredGridLayoutManager'がint配列を返す' findFirstVisibleItemPositions'を持っているからです。だから、これが基本クラスにない理由です。 – Rehan
あなたは正しいです、申し訳ありません。私は、ずらしたグリッドが少し違っていることに気付かなかった。しかし、グリッドは線形の単なるサブクラスなので、同様に持つ必要があります。 –