Şimdi Ara

Androidde uygulmanız durdu hatası alıyor

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
144
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba,

    arkadaşlar androidde bulmaca sistemi yapmaya çalışıyorum. Ama uygulamanız durdu şeklinde bir hata alıyorum.

    Kodların bazıları şu şekilde :

            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();


    Anlamadığınız bir yer olursa sorabilirsiniz. Ben size biraz anlatayımç 9 adet resim kullanabiliyoruz. Bu resimlerin sayısını bir listeye attım, bu resimlerin idsini başka bir listeye, isimlerini de başka bir listeye attım. Sayılardan random yaptım ve listeden çıkardım. Bir daha aynı sayı çıkmasın diye. ve bu sayıya göre idsini ismin falan aldm. Bu tek bir soruluk için ve cevap hep en sonuncusu.

    Cevaplarınızı bekliyorum.







  • Logcat ciktisinda hatali satir neresi oldugu yazar

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Maroon On kullanıcısına yanıt
    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)

    Sanırsam bunu

    < Bu ileti DH mobil uygulamasından atıldı >




  • IndexOutOfBoundsException 9 eleman var ama sanırsam 10 uncu elamla işlem yapıyorsun 0 dan başlama mevzusu gibi geldi
  • bu ne rezil bir koddur ya... herseyi ayrı bir array'de tutuyorsun, otur düzgün bir Animal class yaz, içinde ad, resource_id gibi field'lar olsun, sonra bir constructor yaz ve array of Animals oluştur. Eğer boyut baştan belliyse collection şart değil normal array de olur.
    Daha java bilmiyorsunuz ama android kastırıyorsunuz, yuh be.. söyleyince kötü oluyoruz ama.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.