问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android怎么用imageadapter代码实现图片的随机放置

发布网友 发布时间:2024-01-31 11:14

我来回答

1个回答

热心网友 时间:2024-12-02 22:11

在项目中用到SimpleAdapter 显示照片, 但是 SimpleAdapter 默认是静态显示程序内部的本地资源,即加载的是 R.drawable.id 这样的照片。如果我加载的是下载的Bitmap格式的图片,或者是SD卡自己存储的图片,那么这样是显示不出来的。

解决办法是:
实现 ViewBinder接口,对两种的资源id和bitmap 情况进行说明。
说明代码说下:
SimpleAdapter saImageItems;
// 生成适配器的ImageItem <====> 动态数组的元素,两者一一对应
saImageItems = new SimpleAdapter(this,
lstImageItem, // 数据来源,也就是说网格视图里装载的数据内容
R.layout.gridview, // 网格视图里要显示的东西,这里是一副图像+下标文字
new String[] { "ItemImage", "ItemText" },// 动态数组与ImageItem对应的子项
new int[] { R.id.ItemImage, R.id.ItemText });// 显示ID号与上面的String[]元素一一对应
saImageItems.setViewBinder(new ViewBinder() {

@Override
public boolean setViewValue(
View view,
Object data,
String textRepresentation) {
// TODO Auto-generated method stub
if((view instanceof ImageView) && (data instanceof Bitmap)) {
ImageView imageView = (ImageView) view;
Bitmap bmp = (Bitmap) data;
imageView.setImageBitmap(bmp);
return true;
}
return false;
}
});

expandListView.setOnChildClickListener(new OnChildClickListener() {

@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {

lstImageItem.clear();
ArrayList> kidsArrayList = new ArrayList>();
int classNum = (groupPosition+1)*100+childPosition+1;
kidsArrayList = MainTabActivity.returnDbClassInfo(classNum);
int studentNum = kidsArrayList.size();
for (int i = 0; i < studentNum; i++) {
HashMap map = new HashMap();
Bitmap bm = BitmapFactory.decodeFile(kidsArrayList.get(i).get("studentimage"));

map.put("ItemImage",bm);// 添加图像资源的ID

map.put("ItemText",kidsArrayList.get(i).get("name") );// 按序号做ItemTex

lstImageItem.add(map);
}

// 添加并且显示
gridview.setAdapter(saImageItems);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
山外面包一个病旁是什么字 我的笔记本电脑显示电源的灯一直在绿色和橘红色之间闪烁,这是怎么回事... 笔记本电脑3个灯笔记本电脑这几个指示灯分别是啥意思 ...我的y470.第3个指示灯是橘红色的,开不了机,不知道怎么了?就开不了... QQ空间皮肤的代码是怎么放进去的啊. 为什么我在地址栏中输入皮肤代码按回车键,但一按空间就没有了 请教个问题哈~关于qq空间背景代码的,我在IE栏里输了代码,为啥每次弹出 ... win10删除多余的输入法 win10怎么删除多余的输入法 win10输入法怎么删除 win10输入法删除方法 如何做出爽口不腻、口味纯正的孟和尚粉肠? 成年人为什么不能改名字 冬季了,皮肤干燥了,尤其是小腿和大腿,洗澡要少吗? 山东一本线是多少分? 峨眉山什么季节去旅游最好 电饭锅煮粥:一种简单又美味的健康食品 西藏那曲市发生6.1级地震,地震前有何预兆? 不爱吃蔬菜能吃水果代替? 如何将微信好友转移到另一个 如何把微信好友转到另一个上? 我的眼睛有些问题。用英语怎么说? 宿舍有女生打呼特别严重,搬宿舍到另一个宿舍的话,那个宿舍有个很讨厌... 一年内只能改一次吗? 一年可以改几次啊?是一年一次吗 一年内可以修改几次吗? 盐遇到低温会怎样...单纯只是 零下10度左右保持? 身为组长,应怎样与组员交流 不爱吃蔬菜能多吃水果代替? 如何将微信好友转移到新的上? 原始wxid怎么加好友 不喜欢吃蔬菜,可以用吃水果代替吗 肇兴侗寨的哪些特色建筑值得游客打卡? 肈兴侗寨有哪些美景不容错过? 华硕的,价位在3000――3800的电脑主机市场价一般是多少 商业贷款买房后可以转公积金吗? 一年内怎么改第二次 改错了未满一年怎么改回来 哪种颜色的玛咖好,听说颜色越深质量越好,是吗 买房用商业贷款以后能转公积金吗求解! 双口网卡不能同时跑千兆 开一家喜姐炸串小吃店需要投入多少资金?具体包括哪些费用项目? 求神医喜来乐高清版 一年改2次的办法 是WXID开头的怎么添加? Android 想要一个界面显示多张图片,但是运行的时候显示的是一张图片... android 如何在imageView中显示Bitmap动态图片, android中ImageView怎么实现两个图片切换时的动画如题 谢谢了_百度知 ... 在学习小组中,作为组长,该怎么帮助不说话不主动学习的组员 1周岁的宝宝一天喝多少牛奶 一年内怎么改第二次 肇兴侗寨有哪些比较有趣的体验项目?