package gueei.binding.viewAttributes.adapterView; import gueei.binding.Binder; import gueei.binding.ViewAttribute; import gueei.binding.listeners.OnItemClickListenerMulticast; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; /** * Id of Clicked Item in Adapter Views * Registered to AdapterView.OnItemClickListener * * @name onItemClick * @widget AdapterView * @type Long * @accepts Long * @readonly * @category list * @related * * @author andy */ public class ClickedIdViewAttribute extends ViewAttribute<AdapterView<?>, Long> implements OnItemClickListener{ private Long value; public ClickedIdViewAttribute(AdapterView<?> view, String attributeName) { super(Long.class, view, attributeName); this.setReadonly(true); Binder.getMulticastListenerForView(view, OnItemClickListenerMulticast.class) .register(this); } @Override public Long get() { return value; } @Override protected void doSetAttributeValue(Object newValue) { // Readonly, do nothing } public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (!getView().equals(parent)) return; this.value = id; this.notifyChanged(); } }