-1

I would go to the other activity. But I get error. Application has stopped.

The logs :

E/AndroidRuntime( 5551): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.x_ren.dnm/com.example.x_ren.dnm.gosterim}: java.lang.IndexOutOfBoundsException: Invalid index 9, size is 9

E/AndroidRuntime( 5551):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)

E/AndroidRuntime( 5551):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)

E/AndroidRuntime( 5551):    at android.app.ActivityThread.access$800(ActivityThread.java:151)

E/AndroidRuntime( 5551):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)

E/AndroidRuntime( 5551):    at android.os.Handler.dispatchMessage(Handler.java:102)

E/AndroidRuntime( 5551):    at android.os.Looper.loop(Looper.java:135)

E/AndroidRuntime( 5551):    at android.app.ActivityThread.main(ActivityThread.java:5254)

E/AndroidRuntime( 5551):    at java.lang.reflect.Method.invoke(Native Method)

E/AndroidRuntime( 5551):    at java.lang.reflect.Method.invoke(Method.java:372)

E/AndroidRuntime( 5551):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)

E/AndroidRuntime( 5551):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

E/AndroidRuntime( 5551): Caused by: java.lang.IndexOutOfBoundsException: Invalid index 9, size is 9

E/AndroidRuntime( 5551):    at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)

E/AndroidRuntime( 5551):    at java.util.ArrayList.get(ArrayList.java:308)

E/AndroidRuntime( 5551):    at com.example.x_ren.dnm.gosterim.onCreate(gosterim.java:96)

E/AndroidRuntime( 5551):    at android.app.Activity.performCreate(Activity.java:5990)

E/AndroidRuntime( 5551):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)

E/AndroidRuntime( 5551):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)

The Main Activity (go to the other activity- intent activity) :

gosterimbtn.setOnClickListener ( new View.OnClickListener () {
            public void onClick (View gosterimv){

                startActivity(new Intent(MainActivity.this, gosterim.class));

            }
        });

The other activity :

resimb1 = (ImageButton)findViewById(R.id.bulmacaresim1);
        resimb2 = (ImageButton)findViewById(R.id.bulmacaresim2);
        resimb3 = (ImageButton)findViewById(R.id.bulmacaresim3);
        resimb4 = (ImageButton)findViewById(R.id.bulmacaresim4);

        bulmacat = (TextView)findViewById(R.id.bulmacasorut);

        ArrayList<Integer> resimsayi = new ArrayList<Integer>();

        resimsayi.add(1);
        resimsayi.add(2);
        resimsayi.add(3);
        resimsayi.add(4);
        resimsayi.add(5);
        resimsayi.add(6);
        resimsayi.add(7);
        resimsayi.add(8);
        resimsayi.add(9);

        ArrayList<Integer> resimler = new ArrayList<Integer>();

        resimler.add(R.drawable.ari);
        resimler.add(R.drawable.aslan);
        resimler.add(R.drawable.ayi);
        resimler.add(R.drawable.fil);
        resimler.add(R.drawable.kedi);
        resimler.add(R.drawable.kopek);
        resimler.add(R.drawable.koyun);
        resimler.add(R.drawable.maymun);
        resimler.add(R.drawable.zurafa);

        ArrayList<String> resimad = new ArrayList<String>();

        resimad.add("ari");
        resimad.add("aslan");
        resimad.add("ayi");
        resimad.add("fil");
        resimad.add("kedi");
        resimad.add("kopek");
        resimad.add("koyun");
        resimad.add("maymun");
        resimad.add("zurafa");

        Random rastgele = new Random();

        int secilen = rastgele.nextInt(resimsayi.size());
        resimsayi.remove(resimsayi.get(secilen));

        bulmacat.setText(resimad.get(resimsayi.get(secilen)));

        int resimd1 = rastgele.nextInt(resimsayi.size());
        resimsayi.remove(resimsayi.get(resimd1));
        int resimd2 = rastgele.nextInt(resimsayi.size());
        resimsayi.remove(resimsayi.get(resimd2));
        int resimd3 = rastgele.nextInt(resimsayi.size());
        resimsayi.remove(resimsayi.get(resimd3));

        resimb1.setImageResource(resimler.get(resimsayi.get(resimd1)));
        resimb2.setImageResource(resimler.get(resimsayi.get(resimd2)));
        resimb3.setImageResource(resimler.get(resimsayi.get(resimd3)));
        resimb4.setImageResource(resimler.get(resimsayi.get(secilen)));

        AlertDialog.Builder yapici = new AlertDialog.Builder(gosterim.this);
        yapici.setTitle("deneme");
        yapici.setMessage(resimsayi.get(resimd1) + " " + resimsayi.get(resimd2) + " " + resimsayi.get(resimd3) + " " + resimsayi.get(secilen) + "/n " + resimd1 + " " + resimd2 + " " + resimd3 + " " + secilen);
        yapici.show();

I would make as puzzle. I get random number and remove this,, for doesn't get the some number.

I hope you can understand.

I need your help.

I wait your answers.

brandonx
  • 228
  • 2
  • 13

1 Answers1

0

The ArrayList indexes start with 0, so the index of the last element will always equal size - 1.

int resimd1 = rastgele.nextInt(resimsayi.size() - 1);    
int resimd2 = rastgele.nextInt(resimsayi.size() - 1);
int resimd3 = rastgele.nextInt(resimsayi.size() - 1);
mckszcz
  • 144
  • 8