2016-04-07 29 views
1

私は製品の比較を実装しようとしています。私は2つのリサイクラーを1つ上のディスプレイ製品と中1つのすべての概要と製品の仕様を表示するビューがあります。ある時点で、製品は画面に表示されます。水平Recyclerviewのスクロール

トップのリサイクラビューを水平にスクロールすると、下部のリサイクラビューも同様の位置にスクロールして、関連する商品データと一致する必要があります。

トップスクロールを水平に下にすると自動的にスクロールする必要があります。私は一種の解決策を見つけることができずに立ち往生しています。

助けがあれば助かります。

private int overallXScroll = 0; 
    mRecyclerView.setOnScrollListener(new 
    RecyclerView.OnScrollListener() { 
     @Override 
     public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
      super.onScrolled(recyclerView, dx, dy); 

      overallXScroll = overallXScroll + dx; 
      Log.i("check","overall X = " + overallXScroll); 

     } }); 
+0

あなたのコードを共有してください。 –

+0

private int overallScroll = 0; // ... mRecyclerView.setOnScrollListener(新RecyclerView.OnScrollListener(){onScrolled @Override ます。public void(RecyclerView recyclerView、int型DX、int型DY){ super.onScrolled(recyclerView、DX、DY); overallXScroll = overallXScroll + dx; Log.i( "check"、 "Overall X =" + overallXScroll); } }); –

答えて

0

私たちは、目に見えるアイテムを得ることができますが、これまでの項目の位置を使用すると、上記の整数のいずれかを実行し、それに応じて第二リサイクルビューの位置を移動する必要がある一次処理業者ビューに変更するときに、これらの

LinearLayoutManager manager = new LinearLayoutManager(this); 
int firstCompletelyVisibleItemPosition = manager.findFirstCompletelyVisibleItemPosition(); 
int firstVisibleItemPosition = manager.findFirstVisibleItemPosition(); 
int lastCompletelyVisibleItemPosition = manager.findLastCompletelyVisibleItemPosition(); 
int lastVisibleItemPositionPosition = manager.findLastVisibleItemPosition(); 

のような論文のアイテムを取得することができますLayoutManagersを形成しますLayoutManagerを使用して

LinearLayoutManager secondListManagaer = new LinearLayoutManager(this); 
secondListManagaer.scrollToPosition(above integer value.); 

希望すると、これが始まります。