ListView滚动重复 listview重复 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ListView基于效率和性能的考虑, 所以并不是为每个item都生成一个View的, 一般来讲只为显示的那几个生成View. 像你的程序,假设有100个item,但是屏幕上只显示5个的话, Monitor只会存在5个,然后循环使用。所以你要是想正确的显示,getView的时候得重新给view 赋值public View getView(int position, View convertView, ViewGroup parent) { Monitor monitor; if (convertView == null) { monitor = new Monitor(context); //monitor.setChannel(channels.get(position)); monitor.setStream(1); monitor.setEnableOSD(true); Point size = new Point(); ((Activity) context).getWindowManager() .getDefaultDisplay().getSize(size); monitor.setLayoutParams(new GridView.LayoutParams (GridView.LayoutParams.MATCH_PARENT, size.x / 16 * 9 + 1)); monitor.setPadding(1, 1, 1, 1); } else { monitor = (Monitor) convertView; } monitor.setChannel(channels.get(position)); //赋值的操作是在monitor获得后再做,不能放在生成的位置 return monitor; } 启动android 模拟器出现emulator-arm.exe 已停止工作 android 最多能开多少线程?最好开几个? 摄像的视频压缩格式? 如何按指定格式执行SAX xml解析 Android 与PC之间的同步问题 关于android界面设计(求指点) 在线等高手:关于Google Apis问题,谢谢 !!! android新人报道,呵呵 android 获取某个布局控件 添加到另一个布局中 点击dialog之外的区域,dailog消失 android studio 打开项目,没有目录 急,刚学安卓开发,为什么按一下activity的按钮程序就自动停止了,求高人解答~~~
public View getView(int position, View convertView, ViewGroup parent) {
Monitor monitor; if (convertView == null) {
monitor = new Monitor(context);
//monitor.setChannel(channels.get(position));
monitor.setStream(1);
monitor.setEnableOSD(true); Point size = new Point(); ((Activity) context).getWindowManager()
.getDefaultDisplay().getSize(size);
monitor.setLayoutParams(new GridView.LayoutParams
(GridView.LayoutParams.MATCH_PARENT, size.x / 16 * 9 + 1));
monitor.setPadding(1, 1, 1, 1);
} else {
monitor = (Monitor) convertView;
}
monitor.setChannel(channels.get(position)); //赋值的操作是在monitor获得后再做,不能放在生成的位置 return monitor;
}