title: Why do I get "java.lang.IllegalArgumentException" error?
body: <p>I have this code, I took it from stackoverflow and a bit changed it. The code  retrieve the gallery`s content and put every image path inside an array list. Then it choose randomly  one of the path inside the ArrayList and put as resources for an ImageView. Thank you for attention.</p>
  
  <pre><code>import android.database.Cursor;
  import android.graphics.Bitmap;
  import android.graphics.BitmapFactory;
  import android.net.Uri;
  import android.os.Handler;
  import android.provider.MediaStore;
  import android.support.v7.app.AppCompatActivity;
  import android.os.Bundle;
  import android.widget.ImageView;
  import java.util.ArrayList;
  import java.util.Random;
  
  public class MainActivity extends AppCompatActivity {
  
      Handler handler = new Handler();
      private ImageView randomPicture;
      private Bitmap currentBitmap = null;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          randomPicture = (ImageView)findViewById(R.id.random_picture);
          final ArrayList&lt;String&gt; imagesPath = new ArrayList&lt;&gt;();
  
          String[] projection = new String[]{
                  MediaStore.Images.Media.DATA,
          };
  
          Uri images = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
          Cursor cur = getContentResolver().query(images, projection, null, null, null)
  
          if(cur == null) {
              randomPicture.setImageResource(R.drawable.picture);
          }
          else {
              if (cur.moveToFirst()) {
  
                  int dataColumn = cur.getColumnIndex(
                          MediaStore.Images.Media.DATA);
                  do {
                      imagesPath.add(cur.getString(dataColumn));
                  } while (cur.moveToNext());
              }
              cur.close();
              final Random random = new Random();
              final int count = imagesPath.size();
              handler.post(new Runnable() {
                  @Override
                  public void run() {
                      int number = random.nextInt(count);
                      String path = imagesPath.get(number);
                      if (currentBitmap != null)
                          currentBitmap.recycle();
                      currentBitmap = BitmapFactory.decodeFile(path);
                      randomPicture.setImageBitmap(currentBitmap);
                      handler.postDelayed(this, 1000);
                  }
              });
          }
      }
  }
  </code></pre>
  
  <p>It crashes on the line with Cursor with the error:</p>
  
  <pre><code>E/AndroidRuntime: FATAL EXCEPTION: main
  Process: com.example.postcards, PID: 2424
  java.lang.IllegalArgumentException: n &lt;= 0: 0
  at java.util.Random.nextInt(Random.java:182)
  at com.example.postcards.MainActivity$1.run(MainActivity.java:53)
  at android.os.Handler.handleCallback(Handler.java:739)
  at android.os.Handler.dispatchMessage(Handler.java:95)
  at android.os.Looper.loop(Looper.java:135)
  at android.app.ActivityThread.main(ActivityThread.java:5254)
  at java.lang.reflect.Method.invoke(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
  </code></pre>