Tôi đang cố gắng làm quen với ViewPager. Mã của tôi được đưa ra dưới đây. Vấn đề là các phương thức onPageChangeListener không được gọi. Những gì có thể là vấn đề?onPageScrolled() không được gọi là
public class TabsViewPagerFragmentActivity extends SherlockFragmentActivity implements ViewPager.OnPageChangeListener {
private ViewPager mViewPager;
private PagerAdapter mPagerAdapter;
private PageIndicator mIndicator;
private static final String[] CONTENT = new String[] { "Home", "Popular", "Chat", "Profile"};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar bar = getSupportActionBar();
View customview = LayoutInflater.from(this).inflate(R.layout.actionbar_custom_layout, null);
ImageView im = (ImageView)customview.findViewById(R.id.add);
/*im.getLayoutParams().height = h;
im.getLayoutParams().width = h;*/
bar.setCustomView(customview);
bar.setDisplayShowCustomEnabled(true);
bar.setDisplayShowTitleEnabled(false);
bar.setDisplayShowHomeEnabled(false);
// Inflate the layout
setContentView(R.layout.tabs_viewpager_layout);
// Intialise ViewPager
this.intialiseViewPager();
mIndicator = (TitlePageIndicator)findViewById(R.id.titles);
mIndicator.setViewPager(mViewPager);
TitlePageIndicator indicator = (TitlePageIndicator)findViewById(R.id.titles);
indicator.setTextColor(0xAAfb891e);
indicator.setSelectedColor(0xFFfb891e);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("Search")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
return true;
}
public int getCount() {
return CONTENT.length;
}
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
private void intialiseViewPager() {
this.mPagerAdapter = new PagerAdapter(super.getSupportFragmentManager(),
fragments);
this.mViewPager = (ViewPager)super.findViewById(R.id.viewpager);
this.mViewPager.setAdapter(this.mPagerAdapter);
this.mViewPager.setOnPageChangeListener(this);
}
public void onPageScrolled(int position, float positionOffset,
int positionOffsetPixels) {
// TODO Auto-generated method stub
System.out.println(positionOffsetPixels);
}
public void onPageSelected(int position) {
// TODO Auto-generated method stub
System.out.println(position);
}
public void onPageScrollStateChanged(int state) {
// TODO Auto-generated method stub
System.out.println(state);
}
}
Điều tôi muốn nói là tôi không nhận được bất kỳ nội dung nào được in trong Logcat khi cuộn trang của tôi.
bạn có thể đăng mã nơi bạn đang xác định mIndicator không? – FoamyGuy
mIndicator là gì –
Xin lỗi rằng mIndicator là viewpagerindicator ... this.mViewPager.setOnPageChangeListener (mIndicator); đã thực sự ban đầu this.mViewPager.setOnPageChangeListener (điều này); Tôi đã thay đổi chỉ để xem những gì đã xảy ra nhưng điều đó đã không giúp đỡ ... – ProgrAmmar