package com.example.listviewdemo;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.ImageView.ScaleType;
/**
*
* @author gaoteng www.gaotenglife.com
*
*/
public class SecondActivity extends Activity {
ListView listview = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
initViewPager();
}
private void initViewPager() {
listview = (ListView)this.findViewById(R.id.list_view_second);
ArrayList<String> mData = new ArrayList<String>();
for(int i = 0;i<20;i++)
{
mData.add(""+i);
}
listview.setAdapter(new MyListViewAdatper(mData));
}
private class MyListViewAdatper extends BaseAdapter {
LayoutInflater m_inflater = null;
private ArrayList<String> mData = new ArrayList<String>();
public MyListViewAdatper(ArrayList<String> Data)
{
m_inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mData = Data;
}
@Override
public int getItemViewType(int position) {
// TODO Auto-generated method stub
return position>0?0:1;
}
@Override
public int getViewTypeCount() {
// TODO Auto-generated method stub
return 2;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mData.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mData.get(position);
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View view = null;
if(getItemViewType(position) == 0)//
{
ViewHolder holder = null;
if(convertView==null)
{
view = m_inflater.inflate(R.layout.list_item, null);
holder = new ViewHolder();
holder.textView = (TextView)view.findViewById(R.id.list_item);
view.setTag(holder);
}
else
{
view = convertView;
holder = (ViewHolder)view.getTag();
}
holder.textView.setText(position+"");
}
else if(getItemViewType(position) == 1)//����Ƕ���viewpager
{
ViewPagerHolder holder = null;
if(convertView==null)
{
view = m_inflater.inflate(R.layout.head_viewpager, null);
holder = new ViewPagerHolder();
holder.viewPager = (ViewPager)view.findViewById(R.id.headviewpager);
List<ImageView> listtemp = new ArrayList<ImageView>();
for(int i = 0;i<4;i++)
{
ImageView img = new ImageView(SecondActivity.this);
img.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,100));
img.setScaleType(ScaleType.FIT_XY);
img.setBackgroundResource(R.drawable.ic_launcher);
listtemp.add(img);
}
ViewPageAdapter viewadapter = new ViewPageAdapter(listtemp);
holder.viewPager.setAdapter(viewadapter);
view.setTag(holder);
}
else
{
view = convertView;
holder = (ViewPagerHolder)view.getTag();
}
}
return view;
}
}
public static class ViewHolder {
public TextView textView;
}
public static class ViewPagerHolder{
public ViewPager viewPager;
}
}