/ / onPageScrolled () не се нарича - android, android-viewpager

onPageScrolled () не се нарича - android, android-viewpager

Опитвам се да се запозная с ViewPager.Моят код е даден по-долу.Проблемът е, че onPageChangeListener методи не са били извикани.Какво може да бъде проблемът?

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);

}
}

Това, което искам да кажа, е, че не получавам нищо отпечатано в Логат, докато преглеждам страниците си.

Отговори:

119 за отговор № 1

Е, аз реших проблема самият след грешка в процеса.

Откакто въвеждах TitlePagerIndicator "mIndicator", трябваше да се обадя mIndicator.setOnPageChangeListener (това); и не mViewPager.setOnPageChangeListener (това);


2 за отговор № 2

Най- System.out потокът не се отпечатва в Log клас вместо това Log.d("MyApp","message").


0 за отговор № 3

Начинът, по който сте написали кода си, предполагам, че внедрявате ViewPager.OnPageChangeListener

промяна

this.mViewPager.setOnPageChangeListener(mIndicator);

Да се

this.mViewPager.setOnPageChangeListener(this);


0 за отговор № 4

Следвах съветите по-горе, но не работи за мен. В моя случай аз използвах: mIndicator.setCurrentItem(position);

Това може да помогне на някого!