@@ -0,0 +1,2048 @@
+package com.sixteen11.ui;%0A%0Aimport android.content.Context;%0Aimport android.view.LayoutInflater;%0Aimport android.view.View;%0Aimport android.view.ViewGroup;%0Aimport android.widget.ArrayAdapter;%0Aimport android.widget.Filterable;%0A%0Aimport java.util.List;%0A%0A%0Apublic class HolderArrayAdapter%3CT extends HolderArrayAdapterItem%3E extends ArrayAdapter%3CT%3E implements Filterable %7B%0A    protected int mResource;%0A%0A    public HolderArrayAdapter(Context context, int resource) %7B%0A        super(context, resource);%0A%0A        mResource = resource;%0A    %7D%0A%0A    public HolderArrayAdapter(Context context, int resource, int textViewResourceId) %7B%0A        super(context, resource, textViewResourceId);%0A%0A        mResource = resource;%0A    %7D%0A%0A    public HolderArrayAdapter(Context context, int resource, T%5B%5D objects) %7B%0A        super(context,resource, objects);%0A%0A        mResource = resource;%0A    %7D%0A%0A    public HolderArrayAdapter(Context context, int resource, int textViewResourceId, T%5B%5D objects) %7B%0A        super(context, resource, textViewResourceId, objects);%0A%0A        mResource = resource;%0A    %7D%0A%0A    public HolderArrayAdapter(Context context, int resource, List%3CT%3E objects) %7B%0A        super(context, resource, objects);%0A%0A        mResource = resource;%0A    %7D%0A%0A    public HolderArrayAdapter(Context context, int resource, int textViewResourceId, List%3CT%3E objects) %7B%0A        super(context, resource, textViewResourceId, objects);%0A%0A        mResource = resource;%0A    %7D%0A%0A    public View getView(int position, View convertView, ViewGroup parent) %7B%0A        T holderItem = getItem(position);%0A%0A        Object viewHolder;%0A        if (convertView == null) %7B%0A            convertView = LayoutInflater.from(getContext()).inflate(mResource, null);%0A            %0A            viewHolder = holderItem.newViewHolder();%0A            holderItem.initViewHolder(convertView, viewHolder);%0A%0A            convertView.setTag(viewHolder);%0A        %7D%0A        else %7B%0A            viewHolder = convertView.getTag();%0A        %7D%0A        %0A        holderItem.updateViewHolder(viewHolder);%0A%0A        return convertView;%0A    %7D%0A%7D%0A

Create HolderArrayAdapter.java