Я получаю позицию, пропустив ее от pageradapter (до asyctask)ViewPager: получение текущей позиции пункт
instantiateItem (Просмотр коллекции, внутр поз) {.Execute (поз);}
Но когда я сажусь на предыдущую страницу, он держит неправильную позицию, Как я могу получить правильную предыдущую позицию?
Возможно, я могу использовать 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
Работает с моей основной активностью. Но я хочу использовать его в классе asynctask. Итак, как я могу создать новый адаптер в асинхронном файле. В MainActivity я создал его в oncreate, в asynctask: где? – metemet06
, если я использую его в postexecute (и т. Д.), Он создаст адаптер, который каждую страницу разворачивает? – metemet06