2016-06-06 5 views
0

Мне нужно построить горизонтальный recyclerview, который будет прокручиваться влево или вправо в зависимости от выбранного элемента пользователя.Горизонтальный RecyclerView прокручивается влево или вправо, если есть больше предметов

Например, представьте себе адаптер, который содержит 10 элементов, и только пять видимых.

если пользователь нажимает на позицию 5 Мне нужно прокрутить до положения + 1 и назад.

Любая идея, как реализовать этот алгоритм?

ответ

0

Из ваших объяснений:

For example imagine an adapter that holds 10 items and only five are visible. 

if user tap on position 5 i need to scroll to position + 1 and backwards. 

Вы можете реализовать интерфейс, чтобы получить обратный вызов активности или фрагмент о itemClicked(int position)

public interface OnItemClickListener{ 
    void onItemClick(int position); 
} 

На активность или фрагмент, вы будете реализации этого интерфейса

public class MyActivity extends AppCompatActivity implements OnItemClickListener{ 

    RecyclerView mRecyclerView; 

    @Override 
    public void onItemClick(int position){ 
     if(position == ((LinearLayoutManager)mRecyclerView.getLayoutManager()) .findLastVisibleItemPosition()){ 
      mRecyclerView.smoothScrollToPosition(position + 1); 
     } 
    } 

} 
+0

с 'mRecycl erView.smoothScrollToPosition (mRecyclerAdapter.getItemCount() - 1); ' он прокручивает только до последнего элемента. – AngleV

+0

@AngleV ... ?? Любое замешательство? –

+1

Я думаю, что я не объяснил это правильно. Если пользователь нажал на элемент, близкий к правому краю recycliewiew, recyclerview должен прокрутить влево и открыть следующий доступный элемент. Теперь, если пользователь нажал на элемент, закрытый в левой части recyclerview, он должен прокрутить вправо. – AngleV

Смежные вопросы