我越来越位置从pageradapter传递(以asyctask)Viewpager:获取当前项目位置
instantiateItem(查看收集,诠释POS){.execute(POS);}
但当我刷到上一页时,它的位置错误,我怎样才能得到正确的以前的位置?
也许我可以使用ViewPager getCurrentItem()检索当前页面的索引,但是如何将它与我的代码一起使用?
public class QuestionPagerAdapter extends PagerAdapter{
public QuestionPagerAdapter(){
super();
}
@Override
public int getCount() {
int qcount = QuestionPagerAdapter.q.getQuestionCount();
return qcount;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((View) object);
}
@Override
public Object instantiateItem(View collection, int pos) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View page = inflater.inflate(R.layout.page_quiz, null);
TextView tv = (TextView)page.findViewById(R.id.questionText);
QuizFetchTask fft = new QuizFetchTask(tv);
fft.execute(pos);
((ViewPager) collection).addView(page, 0);
return page;
}
@Override
public void destroyItem(View collection, int position, Object view) {
//Util.Log("destroying" + position);
((ViewPager) collection).removeView((View) view);
}
}
我不太明白你在做什么,为什么'getCurrentItem()'为你工作? – FoamyGuy
它适用于我的MainActivity。但我想在我的asynctask课程中使用它。那么如何在asynctask文件中创建一个新的适配器。在MainActivity中,我使用asynctask创建了oncreate:where? – metemet06
如果我在postexecute(etc)中使用它,它会创建适配器每个页面swips? – metemet06