listview的多条目样式适配

来源:互联网 发布:unity 界面 mac 编辑:程序博客网 时间:2024/06/05 04:22

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




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();}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();}@Overridepublic Object getItem(int arg0) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int arg0) {// TODO Auto-generated method stubreturn 0;}@Overridepublic int getViewTypeCount() {// TODO Auto-generated method stubreturn 2;}@Overridepublic 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;}@Overridepublic 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() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent 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布局

<?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布局


<?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
原创粉丝点击