@Override public View getView(final int position, View convertView, ViewGroup parent) { final PackageItem item = getItem(position); ViewHolder holder; if (convertView == null) { LayoutInflater li = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = li.inflate(R.layout.package_row, parent, false); holder = new ViewHolder(); holder.tvTitle = (TextView) convertView.findViewById(R.id.example_row_tv_title); holder.tvDescription = (TextView) convertView.findViewById(R.id.example_row_tv_description); holder.bAction1 = (ImageButton) convertView.findViewById(R.id.button_edit_rule); holder.bAction2 = (Button) convertView.findViewById(R.id.button_disable_rule); holder.bAction3 = (ImageButton) convertView.findViewById(R.id.button_delete_rule); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } ((SwipeListView) parent).recycle(convertView, position); holder.tvTitle.setText(item.getName()); holder.tvDescription.setText(item.toString()); holder.bAction1.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { mHandler.obtainMessage(RuleList.MESSAGE_EDIT_RULE, position, -1).sendToTarget(); } }); holder.bAction2.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { mHandler.obtainMessage(RuleList.MESSAGE_DISABLE_RULE, position, -1).sendToTarget(); } }); holder.bAction3.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { mHandler.obtainMessage(RuleList.MESSAGE_DELETE_RULE, position, -1).sendToTarget(); } }); return convertView; }