package org.robobinding.widgetaddon.abslistview; import org.robobinding.widgetaddon.adapterview.AdapterViewAddOn; import android.util.SparseBooleanArray; import android.widget.AbsListView; import android.widget.AbsListView.OnScrollListener; /** * @since 1.0 * @author Cheng Wei * */ public class AbsListViewAddOn extends AdapterViewAddOn { private final AbsListView view; private final AbsListViewVariant variant; private OnScrollListeners onScrollListeners; protected AbsListViewAddOn(AbsListView view, AbsListViewVariant variant) { super(view); this.view = view; this.variant = variant; } public void addOnScrollListener(OnScrollListener onScrollListener) { ensureOnScrollListenersInitialized(); onScrollListeners.addListener(onScrollListener); } private void ensureOnScrollListenersInitialized() { if (onScrollListeners == null) { onScrollListeners = new OnScrollListeners(); view.setOnScrollListener(onScrollListeners); } } public void setItemChecked(int position, boolean value){ variant.setItemChecked(position, value); } public int getCheckedItemPosition() { return variant.getCheckedItemPosition(); } public SparseBooleanArray getCheckedItemPositions() { return variant.getCheckedItemPositions(); } public void clearChoices() { variant.clearChoices(); } }