package org.robobinding.widget.abslistview;
import org.robobinding.property.ValueModel;
import org.robobinding.viewattribute.property.TwoWayPropertyViewAttribute;
import org.robobinding.widgetaddon.abslistview.AbsListViewAddOn;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AdapterView;
/**
*
* @since 1.0
* @version $Revision: 1.0 $
* @author Cheng Wei
*/
public class CheckedItemPositionAttribute implements TwoWayPropertyViewAttribute<AbsListView, AbsListViewAddOn, Integer> {
@Override
public void updateView(AbsListView view, Integer newValue, AbsListViewAddOn viewAddOn) {
viewAddOn.setItemChecked(newValue, true);
}
@Override
public void observeChangesOnTheView(final AbsListViewAddOn viewAddOn, final ValueModel<Integer> valueModel, AbsListView view) {
viewAddOn.addOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View itemView, int position, long id) {
valueModel.setValue(viewAddOn.getCheckedItemPosition());
}
});
}
}