package gueei.binding.bindingProviders; import gueei.binding.ViewAttribute; import gueei.binding.viewAttributes.adapterView.listView.ItemSourceViewAttribute; import gueei.binding.viewAttributes.adapterView.listView.CheckedItemPositionsViewAttribute; import gueei.binding.viewAttributes.adapterView.listView.CheckedItemPositionViewAttribute; import gueei.binding.viewAttributes.adapterView.listView.FilterConstraintViewAttribute; import gueei.binding.viewAttributes.adapterView.listView.FilterViewAttribute; import android.view.View; import android.widget.ListView; public class ListViewProvider extends BindingProvider { @SuppressWarnings({ "unchecked" }) @Override public <Tv extends View> ViewAttribute<Tv, ?> createAttributeForView( View view, String attributeId) { if (!(view instanceof ListView)) return null; try { if (attributeId.equals("checkedItemPosition")) { return (ViewAttribute<Tv, ?>) new CheckedItemPositionViewAttribute((ListView)view); }else if (attributeId.equals("checkedItemPositions")) { return (ViewAttribute<Tv, ?>) new CheckedItemPositionsViewAttribute((ListView)view); }else if (attributeId.equals("filter")) { return (ViewAttribute<Tv, ?>) new FilterViewAttribute((ListView)view); }else if (attributeId.equals("filterConstraint")) { return (ViewAttribute<Tv, ?>) new FilterConstraintViewAttribute((ListView)view); }if (attributeId.equals("itemSource")) return (ViewAttribute<Tv, ?>) new ItemSourceViewAttribute((ListView)view, "itemSource"); } catch (Exception e) { // Actually it should never reach this statement } return null; } }