用过重写两个方法来实现:
(1)getItemViewType(int position)
此方法说明listview显示哪个布局
(2)getViewTypeCount()
此方法说明listview有几种布局方式
实例代码:
<span style="font-size:18px;">package com.bwie.adapter;
import java.util.List;
import com.bwie.action.R;
import com.bwie.bean.Data;
import com.bwie.bean.ImageList;
import com.bwie.bean.Large_image_list;
import com.nostra13.universalimageloader.core.ImageLoader;
import android.content.Context;
import android.graphics.Color;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.SystemClock;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.MediaController;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.VideoView;
public class MyListViewNewsAdapter extends BaseAdapter {
private Context context;
private List<Data> list;
private int currentIndex=-1;
private int playPosition=-1;
private boolean isPlaying=false;
private boolean isPaused=false;
private final int VIDEO=0;//视频
private final int ONE_SMALL_IMAGE=1;//一张小图
private final int ONE_LARGE_IMAGE=2;//一张大图
private final int THREE_IMAGE=3;//三张小图
private final int NO_IMAGE=4;//没有图和视频
private ViewHolderVideo video2;
private VideoView videoPlay;
boolean flag;
public MyListViewNewsAdapter(Context context, List<Data> list,boolean flag) {
this.context = context;
this.list = list;
this.flag=flag;
}
@Override
public int getCount() {
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 getItemViewType(int position) {
Data data = list.get(posi