[수미수의 개발 브로구]

[Android] ViewPager 에서 Position 정보가 일치 하지 않을 때 본문

Language & Framework/Android

[Android] ViewPager 에서 Position 정보가 일치 하지 않을 때

수미수 2023. 9. 28. 23:17
반응형

개요

  ViewPager에서 instantiateItem 메서드를 통해 객체를 추가 하는 경우, Position 정보가 일치 하지 않는 경우가 있다. 이럴 경우, instantiateItem 아닌, setPrimaryItem 메서드를 오버라이딩 하여 사용 하면 된다.

따라하기

  아래와 같이 setPrimaryItem 오버라이딩한뒤, 해당 Position 정보를 가져온다.

@Override
    public void setPrimaryItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        super.setPrimaryItem(container, position, object);
        currentView = (View)object;
        Log.d(TAG, "position : " + position);
        // Type을 가져온다.
        WeatherLifeListViewArrayAdapter arrayAdapter = (WeatherLifeListViewArrayAdapter) ((ListView)currentView).getAdapter();
        String type = arrayAdapter.getWeatherLifeItemTypName();
        listener.onChangeWeatherLifeType(type);
    }
 

 

반응형