我有一个自定义列表视图,其中使用了四个项目,一个图像视图和三个文本视图。对于列表的每个图像视图,我都有五个图像 uri,我想在特定图像视图项目的一段时间内动态更改图像。我应用线程来动态更改图像,但它一次只能处理一项列表视图。我想动态更改 listview 的每个 imageview 项目。我所做的。我是朝着正确的方向前进还是应该尝试其他任何事情。请任何人建议我。我们将非常感谢您的帮助..在此先感谢:)
这是我的 getView 代码-
final AQuery recycle = aq.recycle(view);
final Handler mHandler = new Handler();
// Create runnable for posting
final Runnable mUpdateResults = new Runnable() {
public void run() {
animate_slide(recycle , currentimageindex);
currentimageindex++;
if(currentimageindex > 4){
currentimageindex = 0;
}
}
};
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
mHandler.post(mUpdateResults);
}
}, delay, period);
以及我要求动画的方法-
private void animate_slide(AQuery recycle ,int ci) {
if(ci == 0){
Log.d("00000000000000","----------"+ci);
recycle.id(R.id.avatar).progress(R.id.progress).image(ApplicationConstants.IMG_URL_SUFFIX+picture.get(currentimageindex), true, true, 100, 0, null, AQuery.FADE_IN);
}else if(ci == 1){
Log.d("11111111111111","----------"+ci);
recycle.id(R.id.avatar).progress(R.id.progress).image(ApplicationConstants.IMG_URL_SUFFIX+picture1.get(currentimageindex), true, true, 100, 0, null, AQuery.FADE_IN);
}else if(ci == 2){
Log.d("2222222222222222","----------"+ci);
recycle.id(R.id.avatar).progress(R.id.progress).image(ApplicationConstants.IMG_URL_SUFFIX+picture2.get(currentimageindex), true, true, 100, 0, null, AQuery.FADE_IN);
}else if(ci == 3){
Log.d("3333333333333333","----------"+ci);
recycle.id(R.id.avatar).progress(R.id.progress).image(ApplicationConstants.IMG_URL_SUFFIX+picture3.get(currentimageindex), true, true, 100, 0, null, AQuery.FADE_IN);
}else if(ci == 4){
Log.d("00000000000000","----------"+ci);
recycle.id(R.id.avatar).progress(R.id.progress).image(ApplicationConstants.IMG_URL_SUFFIX+picture4.get(currentimageindex), true, true, 100, 0, null, AQuery.FADE_IN);
}
}