在listview中有个进度条
进度条会根据进度值的不同,显示不同的颜色
listview第一次生成的时候正常
但是listview刷新的时候,进度条的颜色值会设不进去
代码如下,其中如果将代码pgsignal.setProgress(progress);放在
pgsignal.setProgressDrawable(getResources().getDrawable(R.drawable.progress_bar_gray));
之前的话,第一次设置的时候drawable就设置不进去
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
View Temp = null;
if (null == arg1) {
Temp = mInflater.inflate(R.layout.wirelesslist_item, arg2,false);
} else {
Temp = arg1;
}
ScanResult info = lsScanResult.get(arg0);
ProgressBar pgsignal = (ProgressBar) Temp.findViewById(R.id.pgsignal);
int progress = lsScanResult.get(arg0);
if (progress < 10) {
pgsignal.setProgressDrawable(getResources().getDrawable(R.drawable.progress_bar_gray));
} else if ((progress >= 10) && (info.level < 40)) {
pgsignal.setProgressDrawable(getResources().getDrawable(R.drawable.progress_bar_yellow));
} else if (info.level >= 40) {
pgsignal.setProgressDrawable(getResources().getDrawable(R.drawable.progress_bar_green));
}
if (progress > pgsignal.getMax()) {
progress = pgsignal.getMax();
} else if (progress < 0) {
progress = 0;
}
pgsignal.setProgress(progress); return Temp;
}
}有没有什么办法可以解决
我目前想到的只有每次getview都产生一个新的view ,但是效率明显很低
求其他解决办法
进度条会根据进度值的不同,显示不同的颜色
listview第一次生成的时候正常
但是listview刷新的时候,进度条的颜色值会设不进去
代码如下,其中如果将代码pgsignal.setProgress(progress);放在
pgsignal.setProgressDrawable(getResources().getDrawable(R.drawable.progress_bar_gray));
之前的话,第一次设置的时候drawable就设置不进去
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
View Temp = null;
if (null == arg1) {
Temp = mInflater.inflate(R.layout.wirelesslist_item, arg2,false);
} else {
Temp = arg1;
}
ScanResult info = lsScanResult.get(arg0);
ProgressBar pgsignal = (ProgressBar) Temp.findViewById(R.id.pgsignal);
int progress = lsScanResult.get(arg0);
if (progress < 10) {
pgsignal.setProgressDrawable(getResources().getDrawable(R.drawable.progress_bar_gray));
} else if ((progress >= 10) && (info.level < 40)) {
pgsignal.setProgressDrawable(getResources().getDrawable(R.drawable.progress_bar_yellow));
} else if (info.level >= 40) {
pgsignal.setProgressDrawable(getResources().getDrawable(R.drawable.progress_bar_green));
}
if (progress > pgsignal.getMax()) {
progress = pgsignal.getMax();
} else if (progress < 0) {
progress = 0;
}
pgsignal.setProgress(progress); return Temp;
}
}有没有什么办法可以解决
我目前想到的只有每次getview都产生一个新的view ,但是效率明显很低
求其他解决办法
解决方案 »
- 求高手们看下这个界面如何居中,代码全部放上来,恳求指导!!!
- tabHost 怎么获得 选项卡对象啊 ???
- 求助呀,android调试显示source not found
- android 4.2 插入usb 键盘显示软键盘
- Xamarin 和mono的区别,两者是否一样的
- android访问网络的问题 。
- 求大神指导,有关listview实现手机qq空间评论
- 要写一个动态库,库里用到另一个库的函数
- Android Studio如何编写横屏的layout
- android 错误
- LayoutParams的参数意义是什么
- Error in an XML file: aborting build. 求救哪错了,????
难道都到外面去更新么
外面更新也不见得有用啊listview里其他图片,文字设置都可以的
就进度条出现不对
论坛上以前有人问过
给链接http://topic.csdn.net/u/20110325/11/49b3fb96-ccf3-4c38-b000-c0411637954d.html
不过好像偶尔还是会出现drawable没画出来的现象