Saya memiliki tiga halaman (Fragmen) di dalam ViewPager, namun saya hanya ingin menampilkan item menu untuk dua halaman tersebut.
Kode yang diberikan dalam jawaban SO sebelumnya sepertinya tidak berfungsi:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser == true) { }
else if (isVisibleToUser == false) { }
}
Eclipse mengatakan @Override tidak diperlukan dan super tidak dapat diatur. Tidak pernah dipanggil oleh sistem, dan bahkan jika itu bagaimana saya menentukan halaman mana yang sedang ditampilkan saat ini? Bisakah saya mendapat bantuan di sini?
android
android-widget
android-viewpager
Andrew Rabon
sumber
sumber
Jawaban:
Gunakan
ViewPager.onPageChangeListener
:sumber
ViewPager.setOnPageChangeListener
sudah usang sekarang. Anda sekarang perlu menggunakanViewPager.addOnPageChangeListener
sebagai gantinya.sebagai contoh,
sumber
addOnPageChangeListener
.ViewPager.SimpleOnPageChangeListener
danViewPager.OnPageChangeListener
seperti apa yang disebutkan di atas?Anda juga dapat menggunakan
ViewPager.SimpleOnPageChangeListener
alih-alihViewPager.OnPageChangeListener
dan menimpa hanya metode yang ingin Anda gunakan.Semoga bantuan ini :)
Sunting: Sesuai API Android,
setOnPageChangeListener (ViewPager.OnPageChangeListener listener)
sudah tidak digunakan lagi. Silakan periksa url ini: - Android ViewPager APIsumber
mViewPager.setOnPageChangeListener();
sudah usang sekarang, ini berfungsi dengan baik.Pengguna Kotlin ,
Perbarui 2020 untuk ViewPager2
sumber
Untuk ViewPager2,
di mana
OnPageChangeCallback
kelas statis dengan tiga metode:sumber