java – setOnPageChangeListener不调用onPageSelected
发布时间:2020-05-25 01:31:37 所属栏目:Java 来源:互联网
导读:我使用以下示例设置了一个simpleonpagechangelistener: Android SimpleOnPageChangeListener – Determine swipe direction 但是,当我执行代码然后滑动viewpager时,我希望调用以下行: public void onPageSelected(int position) { 但是它似乎永远不会这样做
|
我使用以下示例设置了一个simpleonpagechangelistener: Android SimpleOnPageChangeListener – Determine swipe direction 但是,当我执行代码然后滑动viewpager时,我希望调用以下行: public void onPageSelected(int position) {
但是它似乎永远不会这样做 – 这导致了一个非功能性的viewPager. 有什么建议? public class Home extends YouTubeBaseActivity implements VideoClickListener {
...
private int mCurrentTabPosition = NO_CURRENT_POSITION;
private static final int NO_CURRENT_POSITION = -1;
private ViewPager mPager;
...
int imageArray[];
String[] stringArray;
private OnPageChangeListener mPageChangeListener;
ImagePagerAdapter adapter = new ImagePagerAdapter();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
final ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
viewPager.setAdapter(adapter);
...
setOnPageChangeListener(mPageChangeListener);
mPageChangeListener = new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
onTabChanged(mPager.getAdapter(),mCurrentTabPosition,position);
position = mCurrentTabPosition;
int oldPos = viewPager.getCurrentItem();
if (position > oldPos) {
System.out.print(position);
// Moving to the right
String playlist = "TheMozARTGROUP";
new GetYouTubeUserVideosTask(responseHandler,playlist)
.execute();
View vg = findViewById(R.layout.home);
vg.invalidate();
} else if (position < oldPos) {
// Moving to the Left
System.out.print(position);
String playlist = "TheMozARTGROUP";
new GetYouTubeUserVideosTask(responseHandler,playlist)
.execute();
View vg = findViewById(R.layout.home);
vg.invalidate();
}
viewPager.setOnPageChangeListener(mPageChangeListener);
}
private void onTabChanged(PagerAdapter adapter,int mCurrentTabPosition,int position) {
// TODO Auto-generated method stub
}
};
}
private void setOnPageChangeListener(
OnPageChangeListener mPageChangeListener2) {
// TODO Auto-generated method stub
}
...
private class ImagePagerAdapter extends PagerAdapter {
public ImagePagerAdapter(Activity act,int[] mImages,String[] stringArra) {
imageArray = mImages;
activity = act;
stringArray = stringArra;
}
public ImagePagerAdapter() {
super();
}
private int[] mImages = new int[] { R.drawable.selstation_up_btn,R.drawable.classical_up_btn,R.drawable.country_up_btn,R.drawable.dance_up_btn,R.drawable.hiphop_up_btn,R.drawable.island_up_btn,R.drawable.latin_up_btn,R.drawable.pop_up_btn,R.drawable.samba_up_btn };
private String[] stringArray = new String[] { "vevo","TheMozARTGROUP","TimMcGrawVEVO","TiestoVEVO","EminemVEVO" };
@Override
public int getCount() {
return mImages.length;
}
@Override
public boolean isViewFromObject(View view,Object object) {
return view == ((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container,int position) {
Context context = Home.this;
ImageView imageView = new ImageView(context);
imageView.setScaleType(ScaleType.FIT_XY);
imageView.setImageResource(mImages[position]);
((ViewPager) container).addView(imageView,0);
return imageView;
}
@Override
public void destroyItem(ViewGroup container,int position,Object object) {
((ViewPager) container).removeView((ImageView) object);
}
protected void onTabChanged(final PagerAdapter adapter,final int oldPosition,final int newPosition) {
// Calc if swipe was left to right,or right to left
if (oldPosition > newPosition) {
// left to right
} else {
// right to left
}
final ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
}
}
}
XML: <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="wrap_content" android:layout_height="fill_parent" /> 解决方法使用viewPager.setOnPageChangeListener(mPageChangeListener); 去掉 private void setOnPageChangeListener(
OnPageChangeListener mPageChangeListener2) {
// TODO Auto-generated method stub
}
和 setOnPageChangeListener(mPageChangeListener); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
