2012-06-21 3 views
0

이미지의 URL이 배열되어 있습니다. 먼저 이미지를 다운로드 한 다음 슬라이딩으로 표시해야합니다. 하지만 비동기 적으로 이미지를 다운로드하고 싶습니다. 나는 아래의 코드처럼 한 번에 3 개 이미지를 사용하고 있습니다 : 내가 URL의 eimages 번째 다운로드해야 할 것이다 곳서버에서 이미지를 다운로드하여 스크롤보기로 표시

var imageViewArray = []; 
var nextImageIndex; 
var imageNameArray=[]; 

for (var i = 0; i < 3; i++) { 
var imageView1 = Titanium.UI.createImageView({ 
}); 
imageViewArray[i] = imageView1; 
} 

var scrollingView = Titanium.UI.createScrollableView({ 
views : imageViewArray, 
width : 310, 
height : 450, 
top : 5, 
left : 5, 
borderWidth : 2, 
borderColor : '#000' 
}); 

scrollingView.addEventListener('scroll', function(e) { 
Ti.API.info("C=" + e.currentPage); 
Ti.API.info("N=" + nextImageIndex); 
if (e.currentPage == 2 && nextImageIndex < imageNameArray.length - 2) { 
    //Setting the current page to 1 will allow the smooth swipe functionality 
    scrollingView.currentPage = 1; 
    nextImageIndex += 1; 
    var vw = scrollingView.views[0]; 
    imageViewArray[0] = scrollingView.views[1]; 
    imageViewArray[1] = scrollingView.views[2]; 
    scrollingView.removeView[vw]; 
    vw.image = imageNameArray[nextImageIndex + 1]; 
    imageViewArray[2] = vw; 
    scrollingView.views = imageViewArray; 
} else if (e.currentPage == 0 && nextImageIndex > 1) { 
    nextImageIndex -= 1; 
    scrollingView.currentPage = 1; 
    var vw = scrollingView.views[2]; 
    imageViewArray[1] = scrollingView.views[0]; 
    imageViewArray[2] = scrollingView.views[1]; 

    scrollingView.removeView[vw]; 

    vw.image = imageNameArray[nextImageIndex - 1]; 
    imageViewArray[0] = vw; 
    scrollingView.views = imageViewArray; 
} 

    }); 

scrollingView.views[0].image = imageNameArray[0]; 
    scrollingView.views[1].image = imageNameArray[1]; 
    scrollingView.views[2].image = imageNameArray[2]; 
    nextImageIndex = 1; 

사람은 말해 줄 수. 감사합니다.

답변

1

먼저이보기를로드 할 때 적어도 3 개의 이미지를 다운로드하십시오. 그런 다음 스크롤 이벤트에서 더 많은 이미지를 다운로드합니다.

Q : 왜 스크롤보기에서보기를 삭제합니까?

관련 문제