package gueei.binding.viewAttributes.adapterView.listView.expandableListView;
import gueei.binding.ViewAttribute;
import gueei.binding.collections.LazyLoadAdapter;
import android.widget.AbsListView;
import android.widget.ExpandableListAdapter;
import android.widget.ExpandableListView;
/**
* To Provide adapter to ExpandableListView
*
* @name adapter
* @widget ExpandableListView
* @type ExpandableListAdapter
* @accepts ExpandableListAdapter
* @category expandable-list
* @related
*
* @author andy
*
* @param <T>
*/
public class AdapterViewAttribute extends ViewAttribute<ExpandableListView, ExpandableListAdapter> {
public AdapterViewAttribute(ExpandableListView view) {
super(ExpandableListAdapter.class, view, "adapter");
}
@Override
protected void doSetAttributeValue(Object newValue) {
if(getView()==null) return;
if (newValue instanceof ExpandableListAdapter){
getView().setAdapter((ExpandableListAdapter)newValue);
if (newValue instanceof LazyLoadAdapter){
if (getView() instanceof AbsListView)
((LazyLoadAdapter)newValue).setRoot((AbsListView)getView());
}
}
}
@Override
public ExpandableListAdapter get() {
if(getView()==null) return null;
return (ExpandableListAdapter)getView().getAdapter();
}
}