listview的多条目样式适配

来源:互联网 发布:中国项目数据分析师 编辑:程序博客网 时间:2024/06/04 16:48

这里是一个listview多条目展示的简单Dome,其中主要展示了listview适配器中的代码

[java] view plain copyprint?    package com.example.monthtext;            import java.util.List;            import com.example.monthtext.Info.NewsList;      import com.lidroid.xutils.BitmapUtils;      import com.nostra13.universalimageloader.core.DisplayImageOptions;      import com.nostra13.universalimageloader.core.ImageLoader;            import android.content.Context;      import android.content.Intent;      import android.sax.StartElementListener;      import android.view.View;      import android.view.View.OnClickListener;      import android.view.ViewGroup;      import android.widget.BaseAdapter;      import android.widget.ImageView;      import android.widget.TextView;            public class MyBaseAdapter extends BaseAdapter {      private Context context;      private List<NewsList> list;      private static final int TYPE_LISTVIEW_NORMAL = 0;      private static final int TYPE_LISTVIEW_THREE = 1;      private ViewHolder viewHolder;      private BitmapUtils bitmap;      private DisplayImageOptions initOptions;          public MyBaseAdapter(Context context, List<NewsList> list) {          super();          this.context = context;          this.list = list;          initOptions = ImageLoaderUtils.initOptions();      }                @Override          public int getCount() {              // TODO Auto-generated method stub              return list.size();          }                @Override          public Object getItem(int arg0) {              // TODO Auto-generated method stub              return null;          }                @Override          public long getItemId(int arg0) {              // TODO Auto-generated method stub              return 0;          }                    @Override              public int getViewTypeCount() {                  // TODO Auto-generated method stub                  return 2;              }                              @Override              public int getItemViewType(int position) {                  if(list.get(position).thumbnails_qqnews.size()==1){                                             return TYPE_LISTVIEW_NORMAL;                  }if(list.get(position).thumbnails_qqnews.size()!=1){                                             return TYPE_LISTVIEW_THREE;                  }                                     return TYPE_LISTVIEW_NORMAL;              }                @Override          public View getView(final int arg0, View convertView, ViewGroup arg2) {            bitmap = new BitmapUtils(context);                             int itemViewType = getItemViewType(arg0);              if(convertView==null){                  viewHolder = new ViewHolder();                  switch (itemViewType) {                  case TYPE_LISTVIEW_NORMAL:                      convertView= View.inflate(context, R.layout.list_item_one, null);                      viewHolder.lv1_img = (ImageView) convertView.findViewById(R.id.lv1_img);                      viewHolder.lv1_text1 = (TextView) convertView.findViewById(R.id.lv1_text1);                      viewHolder.lv1_text2 = (TextView) convertView.findViewById(R.id.lv1_text2);                      convertView.setTag(viewHolder);                      break;                  case TYPE_LISTVIEW_THREE:                      convertView= View.inflate(context, R.layout.list_item_two, null);                      viewHolder.lv2_text = (TextView) convertView.findViewById(R.id.lv2_text);                      viewHolder.lv2_img1 = (ImageView) convertView.findViewById(R.id.lv2_img1);                      viewHolder.lv2_img2 = (ImageView) convertView.findViewById(R.id.lv2_img2);                      viewHolder.lv2_img3 = (ImageView) convertView.findViewById(R.id.lv2_img3);                      convertView.setTag(viewHolder);                      break;                        default:                      break;                  }              }else{                                    viewHolder = (ViewHolder) convertView.getTag();                  switch (itemViewType) {                  case TYPE_LISTVIEW_NORMAL:                                            ImageLoader.getInstance().displayImage(                              list.get(arg0).thumbnails_qqnews.get(0),                              viewHolder.lv1_img, initOptions);                      viewHolder.lv1_text1.setText(list.get(arg0).title);                      viewHolder.lv1_text2.setText(list.get(arg0).longtitle);                                            break;                  case TYPE_LISTVIEW_THREE:                      ImageLoader.getInstance().displayImage(                              list.get(arg0).thumbnails_qqnews.get(2),                              viewHolder.lv2_img3, initOptions);                      ImageLoader.getInstance().displayImage(                              list.get(arg0).thumbnails_qqnews.get(1),                              viewHolder.lv2_img2, initOptions);                      ImageLoader.getInstance().displayImage(                              list.get(arg0).thumbnails_qqnews.get(0),                              viewHolder.lv2_img1, initOptions);                                                                                        viewHolder.lv2_text.setText(list.get(arg0).title);                      break;                        default:                      break;                  }              }              convertView.setOnClickListener(new OnClickListener() {                                    @Override                  public void onClick(View v) {                      // TODO Auto-generated method stub                      Intent intent=new Intent(context, WebActivity.class);                      intent.putExtra("url",list.get(arg0).short_url);                      context.startActivity(intent);                  }              });                            return convertView;          }                    class ViewHolder{              TextView lv1_text1 ,lv1_text2,lv2_text;              ImageView lv1_img,lv2_img1,lv2_img2,lv2_img3;          }            }  


list_item_one布局

[java] view plain copyprint?    <?xml version="1.0" encoding="utf-8"?>      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"          android:layout_width="match_parent"          android:layout_height="match_parent"          android:orientation="horizontal" >          <ImageView               android:layout_width="100dp"              android:layout_height="100dp"              android:id="@+id/lv1_img"/>          <LinearLayout               android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:orientation="vertical"              >              <TextView                   android:textSize="18sp"                  android:layout_width="wrap_content"                  android:layout_height="wrap_content"                  android:id="@+id/lv1_text1"/>               <TextView                    android:layout_marginTop="18dp"                   android:textSize="14sp"                  android:layout_width="wrap_content"                  android:layout_height="wrap_content"                  android:id="@+id/lv1_text2"/>          </LinearLayout>      </LinearLayout>  


list_item_two布局
[java] view plain copyprint?    <?xml version="1.0" encoding="utf-8"?>      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"          android:layout_width="match_parent"          android:layout_height="match_parent"          android:orientation="vertical" >          <TextView               android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:id="@+id/lv2_text"/>      <LinearLayout           android:layout_margin="10dp"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:orientation="horizontal">          <ImageView               android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:id="@+id/lv2_img1"/>           <ImageView               android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:id="@+id/lv2_img2"/>            <ImageView               android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:id="@+id/lv2_img3"/>                  </LinearLayout>      </LinearLayout>  


0 0
原创粉丝点击