package com.florianmski.tracktoid.ui.fragments.base.list; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.ScrollView; import com.florianmski.tracktoid.adapters.AbstractAdapter; import com.florianmski.tracktoid.containers.ViewContainer; import com.florianmski.tracktoid.ui.widgets.NotifyingScrollView; public abstract class ItemScrollViewFragment<E> extends ItemScrollFragment<E, E, NotifyingScrollView, NotifyingScrollView.OnScrollChangedListener, AbstractAdapter<E>> implements NotifyingScrollView.OnScrollChangedListener { public ItemScrollViewFragment() { super(new ViewContainer.ScrollViewContainer<E, NotifyingScrollView>()); } protected abstract int getContentLayoutId(); @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getGroupView().setOnScrollChangedListener(this); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); LayoutInflater.from(getActivity()).inflate(getContentLayoutId(), getGroupView(), true); } @Override public void onDestroy() { super.onDestroy(); } @Override protected boolean isEmpty(E data) { return data == null; } // @Override // public void onInsetsChanged(Rect insets) // { // viewContainer.get().setClipToPadding(false); // viewContainer.get().setPadding(0, insets.top, 0, insets.bottom); // } @Override public void onScrollChanged(ScrollView who, int l, int t, int oldl, int oldt) { for(NotifyingScrollView.OnScrollChangedListener listener : scrollListeners) listener.onScrollChanged(who, l, t, oldl, oldt); } }