您的位置:首页 > 其它

viewPager根据数据填充内容并动态生成小图标,和滚动

2015-05-19 19:26 393 查看
(1)声明handler,重写handleMessage

private Handler handler = new Handler() {
//重写handleMessage
public void handleMessage(android.os.Message msg) {
if (msg.what == 411) {
radioGroup.removeAllViews();
//获得viewpager内容页数
iconCount = totalList_grid_NSY_BANNER.size();
for (int i = 0; i < iconCount; i++) {
ImageView img = new ImageView(getActivity());
img.setScaleType(ScaleType.FIT_XY);
infosBean = totalList_grid_NSY_BANNER.get(i);
//下载图片
bitmapUtils.display(img, infosBean.getLarge_image());
imgList.add(img);

//动态生成小图标
RadioButton rb = (RadioButton) LayoutInflater.from(
getActivity()).inflate(R.layout.radiobutton, null);
rb.setMaxWidth(5);
rb.setMaxHeight(5);
radioGroup.addView(rb);
}
initTolerant();
radioGroup.getChildAt(0).setBackgroundResource(
R.drawable.icon02_2);
hPagerAdapter.notifyDataSetChanged();
startThread();

} else if (msg.what == 412) {
//使viewpager动态滚动
sy_head_viewpager.setCurrentItem(crrupage);
}
};
};
(2)初始化adapter(内容空也没关系)

hPagerAdapter = new HeadIconPagerAdapter(getActivity(), imgList,
totalList_grid_NSY_BANNER);
sy_head_viewpager.setAdapter(hPagerAdapter);


(3)下载数据

.。。。。。。。。。。。。。。。。

(4)开启字// 开始线程

// 开始线程
public void startThread() {
new Thread(new Runnable() {
@Override
public void run() {
while (flag) {
try {
//线程睡眠6秒
Thread.sleep(6000);
//viewPager当前页加1
crrupage++;
if (crrupage < iconCount) {//判断当前页是否小于总页数
//发送空消息
handler.sendEmptyMessage(412);
} else {
crrupage = -1;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}).start();
}
(5)重写activity销毁方法

@Override
public void onDestroy() {
//Activity销毁时停止线程,防止内存消耗
flag = false;
super.onDestroy();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: