Bu sorun için Onpagechange dinleyicisi en iyisidir Ama aynı zamanda küçük bir hatası olacak, yani 0. konumun başlangıç zamanını algılamayacak. Sayfayı değiştirdiğinizde, Sayfa seçilen konumunu algılamaya başlayacaktır ... Bunun için sorun en kolay çözümü buluyorum
1. Seçilen konum değerini korumalı ve sonra kullanmalısınız ....
2. Durum 1: Konumun başlangıcında her zaman Sıfırdır ....
Durum 2: Mevcut öğeyi ayarlarsanız, bunu ayarlayacağınızı varsayalım.
Konumunuzu korumaya değer verin 3. Ardından faaliyetinizi sürdürmek için eyleminizi yapın ...
Public int maintain=0;
myViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i2) {
}
@Override
public void onPageSelected( int i) {
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();
}
});