android带翻页功能的表格,Android水平翻页列表,相仿水平GridVIew

/***@authorHomgwu*/

public class MainViewPagerAdapter extends PagerAdapter implementsOnClickListener {private List singerList = new ArrayList();privateContext mContext;private int pagerCount = 0;/*** 用来缓存被viewpager destroy掉的view,以便重复使用*/

private List cacheViews = new ArrayList();privateLayoutInflater mInflater;//private static final int TAG_VIEWHOLDER = 1;//private static final int TAG_ITEMDATA = 2;

/*** 一页内的item个数*/

private double itemInCount = 10.0;public MainViewPagerAdapter(ListitemList, Context mContext) {super();this.singerList =itemList;this.mContext =mContext;

pagerCount= (int) Math.ceil(itemList.size() /itemInCount);

mInflater= LayoutInflater.from(this.mContext);

}public void updateData(ListsingerList) {this.singerList =singerList;

notifyDataSetChanged();

}

@Overridepublic intgetCount() {returnpagerCount;

}

@Overridepublic booleanisViewFromObject(View arg0, Object arg1) {return arg0 ==arg1;

}

@Overridepublic void destroyItem(ViewGroup container, intposition, Object object) {

View view=(View) object;

((ViewPager) container).removeView(view);//隐藏页面内的item

clearViewContent((ViewHolder) view.getTag());//添加到缓存

cacheViews.add(view);

}

@Overridepublic intgetItemPosition(Object object) {returnPOSITION_NONE;

}

@Overridepublic Object instantiateItem(ViewGroup container, intposition) {

View view= null;

ViewHolder viewHolder= null;//没有缓存的view时新建一个用来显示

if(cacheViews.isEmpty()) {

view=mInflater.inflate(R.layout.viewpager_item,

container,false);

viewHolder= newViewHolder(view);

view.setTag(viewHolder);

}else{//有缓存的view时取出使用

view = cacheViews.remove(0);

viewHolder=(ViewHolder) view.getTag();

}//设置页面内的各item

initItemData(viewHolder, view, position);

container.addView(view);returnview;

}private void initItemData(ViewHolder viewHolder, View view, intposition) {int totalInItemCount =singerList.size();//每页显示10个item

for (int i = 0; i < 10; i++) {//计算当前页要显示的item在arraylist中的position。

int inItemPosition = position * 10 +i;//如果最后一页显示不满时跳出循环,后面的item不再显示

if (inItemPosition >=totalInItemCount) {break;

}

ItemEntity itemEntity=singerList.get(inItemPosition);switch(i) {case 0:

viewHolder.bgIV1

.setBackgroundResource(R.mipmap.item_bg);

viewHolder.titleTV1.setText(itemEntity.name);

viewHolder.itemRL1.setVisibility(View.VISIBLE);

viewHolder.itemRL1.setTag(itemEntity);

viewHolder.itemRL1.setOnClickListener(this);break;case 1:

viewHolder.bgIV2

.setBackgroundResource(R.mipmap.item_bg);

viewHolder.titleTV2.setText(itemEntity.name);

viewHolder.itemRL2.setVisibility(View.VISIBLE);

viewHolder.itemRL2.setTag(itemEntity);

viewHolder.itemRL2.setOnClickListener(this);break;case 2:

viewHolder.bgIV3

.setBackgroundResource(R.mipmap.item_bg);

viewHolder.titleTV3.setText(itemEntity.name);

viewHolder.itemRL3.setVisibility(View.VISIBLE);

viewHolder.itemRL3.setTag(itemEntity);

viewHolder.itemRL3.setOnClickListener(this);break;case 3:

viewHolder.bgIV4

.setBackgroundResource(R.mipmap.item_bg);

viewHolder.titleTV4.setText(itemEntity.name);

viewHolder.itemRL4.setVisibility(View.VISIBLE);

viewHolder.itemRL4.setTag(itemEntity);

viewHolder.itemRL4.setOnClickListener(this);break;case 4:

viewHolder.bgIV5

.setBackgroundResource(R.mipmap.item_bg);

viewHolder.titleTV5.setText(itemEntity.name);

viewHolder.itemRL5.setVisibility(View.VISIBLE);

viewHolder.itemRL5.setTag(itemEntity);

viewHolder.itemRL5.setOnClickListener(this);break;case 5:

viewHolder.bgIV6

.setBackgroundResource(R.mipmap.item_bg);

viewHolder.titleTV6.setText(itemEntity.name);

viewHolder.itemRL6.setVisibility(View.VISIBLE);

viewHolder.itemRL6.setTag(itemEntity);

viewHolder.itemRL6.setOnClickListener(this);break;case 6:

viewHolder.bgIV7

.setBackgroundResource(R.mipmap.item_bg);

viewHolder.titleTV7.setText(itemEntity.name);

viewHolder.itemRL7.setVisibility(View.VISIBLE);

viewHolder.itemRL7.setTag(itemEntity);

viewHolder.itemRL7.setOnClickListener(this);break;case 7:

viewHolder.bgIV8

.setBackgroundResource(R.mipmap.item_bg);

viewHolder.titleTV8.setText(itemEntity.name);

viewHolder.itemRL8.setVisibility(View.VISIBLE);

viewHolder.itemRL8.setTag(itemEntity);

viewHolder.itemRL8.setOnClickListener(this);break;case 8:

viewHolder.bgIV9

.setBackgroundResource(R.mipmap.item_bg);

viewHolder.titleTV9.setText(itemEntity.name);

viewHolder.itemRL9.setVisibility(View.VISIBLE);

viewHolder.itemRL9.setTag(itemEntity);

viewHolder.itemRL9.setOnClickListener(this);break;case 9:

viewHolder.bgIV10

.setBackgroundResource(R.mipmap.item_bg);

viewHolder.titleTV10.setText(itemEntity.name);

viewHolder.itemRL10.setVisibility(View.VISIBLE);

viewHolder.itemRL10.setTag(itemEntity);

viewHolder.itemRL10.setOnClickListener(this);break;default:break;

}

}

}/*** 隐藏各item

*@paramviewHolder*/

private voidclearViewContent(ViewHolder viewHolder) {

viewHolder.itemRL1.setVisibility(View.GONE);

viewHolder.itemRL2.setVisibility(View.GONE);

viewHolder.itemRL3.setVisibility(View.GONE);

viewHolder.itemRL4.setVisibility(View.GONE);

viewHolder.itemRL5.setVisibility(View.GONE);

viewHolder.itemRL6.setVisibility(View.GONE);

viewHolder.itemRL7.setVisibility(View.GONE);

viewHolder.itemRL8.setVisibility(View.GONE);

viewHolder.itemRL9.setVisibility(View.GONE);

viewHolder.itemRL10.setVisibility(View.GONE);

}

@Overridepublic voidonClick(View arg0) {//点击到对应item

ItemEntity itemEntity =(ItemEntity) arg0.getTag();

Toast.makeText(mContext, itemEntity.name, Toast.LENGTH_SHORT).show();

}/*** viewHolder*/

static classViewHolder {publicImageView bgIV1, bgIV2, bgIV3, bgIV4, bgIV5, bgIV6, bgIV7,

bgIV8, bgIV9, bgIV10;publicTextView titleTV1, titleTV2, titleTV3, titleTV4, titleTV5,

titleTV6, titleTV7, titleTV8, titleTV9, titleTV10;publicRelativeLayout itemRL1, itemRL2, itemRL3, itemRL4, itemRL5,

itemRL6, itemRL7, itemRL8, itemRL9, itemRL10;publicViewHolder(View itemView) {

bgIV1=(ImageView) itemView

.findViewById(R.id.fragment_music_singer_item_image_iv_one);

titleTV1=(TextView) itemView

.findViewById(R.id.fragment_music_singer_item_name_tv_one);

bgIV2=(ImageView) itemView

.findViewById(R.id.fragment_music_singer_item_image_iv_two);

titleTV2=(TextView) itemView

.findViewById(R.id.fragment_music_singer_item_name_tv_two);

bgIV3=(ImageView) itemView

.findViewById(R.id.fragment_music_singer_item_image_iv_three);

titleTV3=(TextView) itemView

.findViewById(R.id.fragment_music_singer_item_name_tv_three);

bgIV4=(ImageView) itemView

.findViewById(R.id.fragment_music_singer_item_image_iv_four);

titleTV4=(TextView) itemView

.findViewById(R.id.fragment_music_singer_item_name_tv_four);

bgIV5=(ImageView) itemView

.findViewById(R.id.fragment_music_singer_item_image_iv_five);

titleTV5=(TextView) itemView

.findViewById(R.id.fragment_music_singer_item_name_tv_five);

bgIV6=(ImageView) itemView

.findViewById(R.id.fragment_music_singer_item_image_iv_six);

titleTV6=(TextView) itemView

.findViewById(R.id.fragment_music_singer_item_name_tv_six);

bgIV7=(ImageView) itemView

.findViewById(R.id.fragment_music_singer_item_image_iv_seven);

titleTV7=(TextView) itemView

.findViewById(R.id.fragment_music_singer_item_name_tv_seven);

bgIV8=(ImageView) itemView

.findViewById(R.id.fragment_music_singer_item_image_iv_eight);

titleTV8=(TextView) itemView

.findViewById(R.id.fragment_music_singer_item_name_tv_eight);

bgIV9=(ImageView) itemView

.findViewById(R.id.fragment_music_singer_item_image_iv_nine);

titleTV9=(TextView) itemView

.findViewById(R.id.fragment_music_singer_item_name_tv_nine);

bgIV10=(ImageView) itemView

.findViewById(R.id.fragment_music_singer_item_image_iv_ten);

titleTV10=(TextView) itemView

.findViewById(R.id.fragment_music_singer_item_name_tv_ten);

itemRL1=(RelativeLayout) itemView

.findViewById(R.id.fragment_music_singer_item_one);

itemRL2=(RelativeLayout) itemView

.findViewById(R.id.fragment_music_singer_item_two);

itemRL3=(RelativeLayout) itemView

.findViewById(R.id.fragment_music_singer_item_three);

itemRL4=(RelativeLayout) itemView

.findViewById(R.id.fragment_music_singer_item_four);

itemRL5=(RelativeLayout) itemView

.findViewById(R.id.fragment_music_singer_item_five);

itemRL6=(RelativeLayout) itemView

.findViewById(R.id.fragment_music_singer_item_six);

itemRL7=(RelativeLayout) itemView

.findViewById(R.id.fragment_music_singer_item_seven);

itemRL8=(RelativeLayout) itemView

.findViewById(R.id.fragment_music_singer_item_eight);

itemRL9=(RelativeLayout) itemView

.findViewById(R.id.fragment_music_singer_item_nine);

itemRL10=(RelativeLayout) itemView

.findViewById(R.id.fragment_music_singer_item_ten);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值