pageradapter から (asyctask に) 位置を取得しています。
instantiateItem(View collection, int 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);
}
}