Q:

How to add delay between each recyclerview item?

I want to set delay time between each of my recyclerview items. I have a List of the specific time delay I want for each item. Now using the following code it works fine for fewer items but if there are 15-20 items then multiple items will start at the same time. I'm assuming it's because as other items are not displayed it considers them as the first item and starts the timer.
holder.timer.postDelayed(new Runnable() {
            @Override
            public void run() {
                new CountDownTimer((long) (time.get(holder.getAdapterPosition()) * 60000), 1000) {
                    public void onTick(long millisUntilFinished) {
//timer.setText("minutes remaining: " + millisUntilFinished);
//here you can have your logic to set text to edittext
                        holder.timer.setText("" + String.format(FORMAT,
                                TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(
                                        TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
                                TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(
                                        TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
                    }
                    public void onFinish() {
                        holder.timer.setText("done!");
                    }
                }.start();
            }
        },  delay* 60000);

Now this works fine for 4-5 items but for 10-15 items when I scroll 2 or 3 item's timer start at the same time instead of waiting for the previous item to finish

A:

just initialize the recyclerview with only one item, 
then count the time with System.currentTimeMillis();, 
after two second add an item in the recyclerView list and call notifyItemInserted() to notify the adapter that a new item is inserted.
something like this:
long initialTime = System.currentTimeMillis();
long now = System.currentTimeMillis();
while(now - initialTime < 2000){
    now = System.currentTimeMillis();
}
//now code after two seconds..
mainList.add(item);
adapter.notifyItemInserted();

