สำหรับปัญหานี้ Onpagechange listener เป็นสิ่งที่ดีที่สุด แต่มันจะมีข้อผิดพลาดเล็ก ๆ อย่างหนึ่งคือจะตรวจไม่พบเวลาเริ่มต้นของตำแหน่งที่ 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) {
}
@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();
}
});