Skip to content

Instantly share code, notes, and snippets.

@samuel22gj
Last active August 1, 2016 10:37
Show Gist options
  • Save samuel22gj/d64f529f4109346d45cb to your computer and use it in GitHub Desktop.
Save samuel22gj/d64f529f4109346d45cb to your computer and use it in GitHub Desktop.
Android BaseAdapter tamplate
public class MyBaseAdapter extends BaseAdapter {
private static final String TAG = MyBaseAdapter.class.getSimpleName();
private Context mContext;
private LayoutInflater mInflater;
private List<FunctionItem> mItemList;
private int mSelectedItem = -1;
public HomeListAdapter(Context context, List<FunctionItem> itemList) {
super();
mContext = context;
mInflater = LayoutInflater.from(mContext);
mItemList = itemList;
}
@Override
public int getCount() {
return mItemList.size();
}
@Override
public Object getItem(int position) {
return mItemList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_item_view, parent, false);
viewHolder = new ViewHolder();
viewHolder.icon = (ImageView) convertView.findViewById(R.id.icon);
viewHolder.name = (TextView) convertView.findViewById(R.id.name);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
FunctionItem item = mItemList.get(position);
if (position == mSelectItem) {
// Hightlight item.
viewHolder.name.setText(item.getName());
viewHolder.icon.setImageDrawable(item.getIcon());
} else {
// Normal Item.
viewHolder.name.setText(item.getName());
viewHolder.icon.setImageDrawable(item.getIcon());
}
return convertView;
}
public void setSelectedItem(int selectedItem) {
mSelectedItem = selectedItem;
notifyDataSetChanged();
}
static class ViewHolder {
ImageView icon;
TextView name;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment