Для этой проблемы лучший слушатель Onpagechange, но у него также будет одна небольшая ошибка: он не будет определять время начала 0-й позиции. Как только вы измените страницу, он начнет обнаруживать выбранную позицию страницы. Для этой проблемы я нахожу самое простое решение
1.Вы должны сохранить выбранное значение позиции, а затем использовать его ...
2. Случай 1: В начале позиции всегда ноль ....
Случай 2: Предположим, что если вы установите текущий элемент, значит, вы установите это значение в поддерживающую позицию
3. Затем выполняйте свои действия с использованием того, что поддерживает в вашей деятельности ...
Public int maintain=0;
myViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i2) {
//Toast.makeText(MyActivity.this, i+" Is Selected "+data.size(), Toast.LENGTH_SHORT).show();
}
@Override
public void onPageSelected( int i) {
// here you will get the position of selected page
maintain = i;
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
updateButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MyActivity.this, i+" Is Selected "+data.size(), Toast.LENGTH_SHORT).show();
data.set(maintain, "Replaced "+maintain);
myViewPager.getAdapter().notifyDataSetChanged();
}
});