我想用標題,描述和其他數據在每行中使用自定義列表視圖刪除imagebutton。刪除行列表查看android
當我點擊行號10中的ImageButton時,ListView中的第5行被刪除!
myadapter:
public static class ViewHolder {
TextView favorites_title;
TextView favorites_description;
TextView favorites_date;
ImageButton favorites_btn_delete ;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView==null){
/****** Inflate tabitem.xml file for each row (Defined below) *******/
convertView = inflater.inflate(R.layout.favorites_list_row_layout, null);
/****** View Holder Object to contain tabitem.xml file elements ******/
holder = new ViewHolder();
holder.favorites_title = (TextView) convertView.findViewById(R.id.favorites_title);
holder.favorites_description = (TextView) convertView.findViewById(R.id.favorites_description);
holder.favorites_date = (TextView) convertView.findViewById(R.id.favorites_date);
holder.favorites_btn_delete = (ImageButton)convertView.findViewById(R.id.favorites_btn_delete);
/************ Set holder with LayoutInflater ************/
convertView.setTag(holder);
holder.favorites_btn_delete.setTag(position);
}
else
holder=(ViewHolder)convertView.getTag();
holder.favorites_btn_delete.getTag();
NewsItem newsItem = (NewsItem) listData.get(position);
holder.favorites_title.setText(newsItem.getHeadline());
holder.favorites_description.setText(newsItem.getDescription());
holder.favorites_date.setText(newsItem.getDate());
holder.favorites_btn_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Integer index = (Integer) v.getTag();
int i = index.intValue();
Log.e("Position", String.valueOf(i));
// listData.remove(i);
// notifyDataSetChanged();
}
});
您是否已經使用了convertview.getTag(),所以只需傳遞getview中的默認位置即可。 listData.remove(位置); – skyshine