Мне любопытно, почему instantiateItem устарел в пользу новой версии. Изменение заключается в том, что теперь он получает ViewGroup вместо более общего View.
Устаревший метод
public Object instantiateItem (View container, int position)
Новый метод
public Object instantiateItem (ViewGroup container, int position)
Примечание. Это изменение также произошло с destroyItem, startUpdate, finishUpdate и setPrimaryItem.