카테고리 없음

[기계적 인조 인간] 안드로이드에서 연속 이미지 슬라이드 쇼

행복을전해요 2021. 1. 13. 15:07

이를 위해 Handler를 사용하십시오.

Handler mHandler = new Handler();
mHandler.postDelayed(mRunnable, 2000);

final Runnable mRunnable = new Runnable()
{
    @Override
        public void run()
            {
            
                        Utility.getInstance(getActivity()).displayImage(mImageUrlsTop.get(mCounterTop++), mImageViewTop, mProgressBarTop);
                                    mHandler.postDelayed(mRunnable, 2000);                          
                                        }
                                        };
                                        

여기서 displayImage는 제공된 URL에 대한 이미지를 표시하는 내 함수이고 Imageview & mImageUrlsTop은 ImageUrl의 배열 목록입니다.

-------------------

이 코드를 시도

 private Runnable updateImageThread = new Runnable() {

            public void run() {
            
                            timeInMilliseconds = SystemClock.uptimeMillis() - startTime1;
                            
                                            updatedTime = timeSwapBuff + timeInMilliseconds;
                                            
                                                            int secs = (int) (updatedTime / 1000);
                                                                            int mins = secs / 60;
                                                                                            secs = secs % 60;
                                                                                                            int milliseconds = (int) (updatedTime % 5000);
                                                                                                                // set images to imageview  here as per your need
                                                                                                                
                                                                                                                                customHandler.postDelayed(this, 0);
                                                                                                                                            }
                                                                                                                                            
                                                                                                                                                    };
                                                                                                                                                    
                                                                                                                                                    
                                                                                                                                                    // call this thread like this
                                                                                                                                                    private Handler customHandler = new Handler();
                                                                                                                                                    long timeInMilliseconds = 0L;
                                                                                                                                                    long updatedTime = 0L;
                                                                                                                                                    customHandler.postDelayed(updateImageThread, 0);
                                                                                                                                                    


출처
https://stackoverflow.com/questions/22005782