得到ListView中条目信息的快捷方法

来源:互联网 发布:中山大学网络与新媒体 编辑:程序博客网 时间:2024/06/05 10:31
先给条目布局添加Tag标签,记录在控件中保存的数据,BaseAdapter的继承类的getViw()方法重写如下
/** * ListView Item设置 */public View getView(int position, View convertView, ViewGroup parent) {//Log.d("method", "getView");//自定义视图ListItemView  listItemView = null;if (convertView == null) {//获取list_item布局文件的视图convertView = listContainer.inflate(this.itemViewResource, null);listItemView = new ListItemView();//获取控件对象listItemView.title = (TextView)convertView.findViewById(R.id.news_listitem_title);listItemView.author = (TextView)convertView.findViewById(R.id.news_listitem_author);listItemView.count= (TextView)convertView.findViewById(R.id.news_listitem_commentCount);listItemView.date= (TextView)convertView.findViewById(R.id.news_listitem_date);listItemView.flag= (ImageView)convertView.findViewById(R.id.news_listitem_flag);//设置控件集到convertViewconvertView.setTag(listItemView);}else {listItemView = (ListItemView)convertView.getTag();}//设置文字和图片News news = listItems.get(position);listItemView.title.setText(news.getTitle());listItemView.title.setTag(news);//设置隐藏参数(实体类)return convertView;}

static class ListItemView{//自定义控件集合          public TextView title;      public TextView author;    public TextView date;      public TextView count;    public ImageView flag; }  


在列表的点击事件中,先找到设置了标签的控件,即可得到存在其中的数据

lvNews.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View view, int arg2,long arg3) {// TODO Auto-generated method stubNews news=null;TextView tv=(TextView)view.findViewById(R.id.news_listitem_title);news=(News)tv.getTag();}});


原创粉丝点击