我自己定义了个baseadapter,然后放在gridview中,现在问题是gridview第一次显示的时候画面上一片黑,然后我往下滑动,然后滑上来的话就显示一部分图片,怎么解决呢,一出来就显示?我的adapter中getview如下
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if(convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(c).inflate(R.layout.photo_layout, null);
holder.ivPhoto = (ImageView) convertView.findViewById(R.id.imageView_photo_item);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.ivPhoto.setImageBitmap(getBitmap(uris[position], holder.ivPhoto));
return convertView;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if(convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(c).inflate(R.layout.photo_layout, null);
holder.ivPhoto = (ImageView) convertView.findViewById(R.id.imageView_photo_item);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.ivPhoto.setImageBitmap(getBitmap(uris[position], holder.ivPhoto));
return convertView;
}
解决方案 »
- 求解:android 4.0读写HID设备
- Android:如何实现编辑文本
- android gstreamer移植
- ((ViewGroup)findViewById(android.R.id.content)).getChildAt(0)是什么类型的?
- Android 自带的手势识别功能够不够强?
- 代码量达到10万行的软件?
- android音乐播放器歌曲收藏怎么实现?
- Android txt文件里面的章节名显示出来
- Android app问题
- Android中的asynchttpclient框架post成功后无法执行list.add方法
- SDK Setup.exe 运行问题
- 请教:android的listview如何把背景设为白色,把字休设为黑色
怀疑是这个位置没取到数据
你可以在这个位置加个log看传进去的holder.ivPhoto的值多少
什么时候能取到数据什么时候取不到数据。感觉convertView == null的时候,得到的holder.ivPhoto传入你的取图片函数是没取到数据。
放在if(convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(c).inflate(R.layout.photo_layout, null);
holder.ivPhoto = (ImageView) convertView.findViewById(R.id.imageView_photo_item);
这个的下一行吗?
看看是不是在某些情况下,getBitmap得不带图片
现在又遇到了大图显示的问题,还没什么思路
我想像系统那样的浏览
要考虑内存溢出问题,也要平滑的滑动,一次加载几个图片呢?
用gallery试试。
别忘了控制内存。PS:gallery没用过,只是知道原理,没详细玩过