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; /** * Clicked Item in ListView * Changes at ListView.OnItemClickListener.onItemClick() * * @name clickedItem * @widget AdapterView * @type Object * @accepts Object * @category list * @related * * @author andy */ public class ClickedItemViewAttribute extends ViewAttribute<AdapterView<?>, Object> implements OnItemClickListener{ private Object value; public ClickedItemViewAttribute(AdapterView<?> view, String attributeName) { super(Object.class, view, attributeName); //this.setReadonly(true); Binder.getMulticastListenerForView(view, OnItemClickListenerMulticast.class) .registerWithHighPriority(this); } @Override protected void doSetAttributeValue(Object newValue) { value = newValue; } @Override public Object get() { return value; } public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (!getView().equals(parent)) return; try{ this.value = getView().getItemAtPosition(position); this.notifyChanged(); }catch(Exception e){ } } }