问题
I've made Image slider with the help of recyclerView
and SnapHelper
. I have also added next, prev imageView under the recyclerView.
I want to implement them to work as next,prev. Their id are next, prev respectively.
This is activity where imageSlider is shown:
public class RajeshDaiActivity extends AppCompatActivity implements RajeshDaiAdapter.OnNoteListener {
public RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rajesh_dai);
recyclerView = findViewById(R.id.rv_image);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
recyclerView.setLayoutManager(layoutManager);
SnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(recyclerView);
List<Word> wordList = new ArrayList<>();
wordList.add(new Word(R.drawable.oq, null));
wordList.add(new Word(R.drawable.oqqqq, null));
wordList.add(new Word(R.drawable.opt3, null));
RajeshDaiAdapter adapter = new RajeshDaiAdapter(this);
recyclerView.setAdapter(adapter);
adapter.addItems(wordList);
}
@Override
public void onNoteClick(int position) {
}
}
回答1:
add this in your main class
int CurrenePosition = ((LinearLayoutManager)recyclerView.getLayoutManager()).findFirstVisibleItemPosition();
NextItemImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (CurrenePosition < recyclerView.getAdapter().getItemCount()-1)
recyclerView.scrollToPosition(CurrenePosition + 1);
}
});
PreviousItemImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (CurrenePosition > 0)
recyclerView.scrollToPosition(CurrenePosition - 1);
}
});
来源:https://stackoverflow.com/questions/57036610/add-next-prev-buttons-in-image-slider-made-by-recyclerview