Question

I want to display several images with varying intervals, for the time, i can show the pictures but at equal intervals, as may make it show at varying intervals? for example, the first image displayed 5 seconds, the second image 7 seconds, the third image 4 seconds, etc... any ideas and/or examples?

this is my activity that I'm showing the pictures, but in equal intervals:

public class WCourse extends Activity implements OnClickListener, OnTouchListener, OnCompletionListener, OnBufferingUpdateListener{

//mp3 player
private ImageButton buttonPlayPause;
private SeekBar seekBarProgress;
public EditText editTextSongURL;


public static TextView TextViewTopTitle;

//Slider
public int currentimageindex=0;
Timer timer;
TimerTask task;
ImageView slidingimage;

//images ids
private int[] IMAGE_IDS = {
        R.drawable.c5_d1, R.drawable.c5_d2, R.drawable.c5_d3, R.drawable.c5_d4, R.drawable.c5_d5,
        R.drawable.c5_d6, R.drawable.c5_d7, R.drawable.c5_d8, R.drawable.c5_d9, R.drawable.c5_d10,
        R.drawable.c5_d11, R.drawable.c5_d12, R.drawable.c5_d13, R.drawable.c5_d14, R.drawable.c5_d15,
        R.drawable.c5_d16, R.drawable.c5_d17, R.drawable.c5_d18, R.drawable.c5_d19, R.drawable.c5_d20,
        R.drawable.c5_d21, R.drawable.c5_d22, R.drawable.c5_d23, R.drawable.c5_d24, R.drawable.c5_d25,
        R.drawable.c5_d26, R.drawable.c5_d27, R.drawable.c5_d28, R.drawable.c5_d29, R.drawable.c5_d30,
        R.drawable.c5_d31, R.drawable.c5_d32, R.drawable.c5_d33, R.drawable.c5_d34, R.drawable.c5_d35,
        R.drawable.c5_d36, R.drawable.c5_d37, R.drawable.c5_d38, R.drawable.c5_d39, R.drawable.c5_d40,
        R.drawable.c5_d41, R.drawable.c5_d42, R.drawable.c5_d43, R.drawable.c5_d44, R.drawable.c5_d45,
        R.drawable.c5_d46
    };

//player    
private MediaPlayer mediaPlayer;
private int mediaFileLengthInMilliseconds; // this value contains the song duration in milliseconds. Look at getDuration() method in MediaPlayer class

//slider handler
private final Handler handler = new Handler();

/** Called when the activity is first created. 
 * @param <MyCount>*/
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.watch_course);

    //intent
    TextViewTopTitle = (TextView) findViewById(R.id.TextViewTopTitle);
    Bundle bundle = getIntent().getExtras();
    TextViewTopTitle.setText(bundle.getString("RESULT2")+" ");
    getText(bundle.getString("RESULT2"));

    final Handler mHandler = new Handler();    
    initView();

    final Runnable mUpdateResults = new Runnable() {
        public void run() {

            AnimateandSlideShow();

        }
    };
    final int delay = 5000; // delay for xx sec.      

    final long period = 11000;//repet every xx seconds       
    Timer timer = new Timer();
    timer.scheduleAtFixedRate(new TimerTask() {

    public void run() {

         mHandler.post(mUpdateResults);
    }

}, delay, period);}    
// Helper method to start the animation on the splash screen 
    private void AnimateandSlideShow() {
slidingimage = (ImageView)findViewById(R.id.ImageView3_Left);
slidingimage.setImageResource(IMAGE_IDS[currentimageindex%IMAGE_IDS.length]);
currentimageindex++;
slidingimage.getAnimation();}

really would appreciate your help.

Was it helpful?

Solution

     public void run(){
        try{                                      
            Thread.sleep(4000);                
        }                              
        catch(Exception ex){

            Log.e("Welcome Exception :",ex.toString());
        }                      
        mHandler.sendEmptyMessage(0);     
    }   

OTHER TIPS

why not use a random generated number instead of the currently specific values?

i mean :

final int delay = 5000; // delay for xx sec.      

final long period = 11000;//repet every xx seconds

? seems like an oversite or maybe im reading this wrong

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top