Tôi gặp sự cố này và không thể nhận được mã số getCurrentItem()
.
Tôi đã nhận được vị trí từ số ViewPager
và không phải từ số PageAdapter
. Các methet onPageSelected(int currentPage)
là nhận được trang hiện đang được hiển thị.
//custom PageAdapter implementation
mAdapter = new AwesomePagerAdapter();
//Our custom view pager that extends from ViewPager
mPager = (CustomViewPager) findViewById(R.id.preview_gallery);
mPager.setAdapter(mAdapter);
// get the item that we should be showing from the intent
mCurrentPage = extra.getInt("currentIndex");
// show the item the user picked
mPager.setCurrentItem(mCurrentPage);
// listen for page changes so we can track the current index
mPager.setOnPageChangeListener(new OnPageChangeListener() {
public void onPageScrollStateChanged(int arg0) {
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
public void onPageSelected(int currentPage) {
//currentPage is the position that is currently displayed.
}
});
Làm nó trong PageAdaper
không làm việc cho tôi khi tôi muốn tải trước hình ảnh mà không nhìn thấy được. Vị trí được thông qua instantiateItem(View collection, int position)
của PageAdapter` là vị trí của mục tiếp theo được khởi tạo. Điều này không liên quan gì đến mục được hiển thị.
Tôi đang sử dụng gói tương thích và mở rộng PagerAdapter, cũng không có phương thức getCurrentItem. Làm thế nào tôi có thể làm cho một? http://pastebin.com/LabjNvqL – CQM
Không, oncreate chỉ chạy lúc bắt đầu khi trang là 0, sử dụng nó ở một nơi khác khi trang không phải là 0 và nó sẽ trả về số trang đó –
@CQM bạn đang sử dụng VIewPager và bạn đang thiết lập bộ chuyển đổi của nó cho lớp đó, chỉ cho tôi lớp mà bạn có một oncreate –