PagerAdapter возвращает неправильную позицию для многооконного пейджера

Я реализую каурозел, например, пейджер просмотра, регулируя поле страницы. Я могу реализовать, как показано ниже

введите описание изображения здесь

но у меня проблема с PagerAdapter

@Override
public Object instantiateItem(ViewGroup container, int position) {
    View view= inflater.inflate(R.layout.mylayout, null);

    // 
    Button btn=(Button)view.findViewById(R.id.button1);
    btn.setTag(position);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          Log.e("position",v.getTag()+"");
       }
   }
    return imgView;
}

Хотя я устанавливаю теги, я могу получить правильное положение только для центральной страницы (выбранного элемента), но когда я нажимаю кнопку на левой стороне страницы, возвращается неправильное значение.

Я много раз искал эту проблему, но пока не нашел решения.

ищу вашу помощь.

Спасибо


person Senthil    schedule 24.08.2016    source источник


Ответы (2)


Вы можете использовать RecyclerView

LinearLayoutManager layoutManager = ...
recyclerView.setLayoutManager(layoutManager);

//when you want horizontal
layoutManager.setOrientation(context,LinearLayoutManager.HORIZONTAL,false);

//when you want vertical
layoutManager.setOrientation(context,LinearLayoutManager.VERTICAL,false);
person Ahmad Aghazadeh    schedule 24.08.2016
comment
Спасибо за быстрый ответ. Я работаю над очень старой кодовой базой .. Есть ли какие-нибудь настройки с pagerAdapter для быстрого исправления - person Senthil; 24.08.2016

С PagerAdapter проблем не было. Фактическая проблема возникла из-за сторонней библиотеки, которую я использовал в качестве оболочки для анимации представлений.

person Senthil    schedule 26.09.2018