2016-11-12 12 views
-1

以下のエラーが発生しました java.lang.ArrayIndexOutOfBoundsException:length = 55;インデックス= 55。
アプリケーションがクラッシュしているいくつかの画像は、私が変更ArrayIndexoutofboundException

を行う必要がある場所を提案してください可能性が下にスクロールされた後
 import com.squareup.picasso.Picasso; 

     import android.content.Context; 
     import android.view.View; 
     import android.view.ViewGroup; 
     import android.widget.BaseAdapter; 
     import android.widget.GridView; 
     import android.widget.ImageView; 

public class ImageAdapter extends BaseAdapter { 
    private Context mContext; 
    int imageTotal = 70; 
    public static String[] mThumbIds = { 
    "http://www.fashionlady.in/wp-content/uploads/2016/03/creative-punjabi-mehndi-design-2016.jpg", 
    "http://scraps99.com/main/post_images/Mehndi-Design/Mehndi-Design_151.jpg", 
    "http://stylesatlife.com/wp-content/uploads/2016/03/Ganesha-Chaturthi.jpg", 
    "https://s-media-cache-ak0.pinimg.com/564x/0a/05/12/0a05120d03dbe15f66eb8c97c085d25c.jpg", 
    "http://srivinayagacatering.com/cook/upload/media/youtube_O9e0MZkXNxM.jpg", 
    "http://stylesatlife.com/wp-content/uploads/2016/03/Ganesha-Design-For-Hand.jpg", 
    "http://i.ethnicoapp.com/m/cOHL4_xuEP_99VVgLId-xD-Eyi7ktW4U8Ph7zi9GczJ6wQbrdHGhqi8yJi0TD3Loee_9_AV_386I7ym1VbImCkqhQZe53CeasIRvy8CItTlcooEvmyPFtenxNUNGHtOFYWJjZGVmZ2hiY2RlZmVmZw,,/ganesha-mehendi-design-1461583969.jpg", 
    "https://s-media-cache-ak0.pinimg.com/originals/b6/95/44/b69544f3ab5e92a4e723e0017985a26b.jpg", 
    "http://thestylecircle.com/wp-content/uploads/2015/08/Organic-abstracts.jpg", 
    "http://www.fashionlady.in/wp-content/uploads/2015/05/Ganesh-Mehndi-Design1.jpg", 
    "https://s-media-cache-ak0.pinimg.com/originals/62/b6/c8/62b6c82d7d022f1fc6f1352c649263cd.jpg", 
    "http://i.ethnicoapp.com/m/ao0TV_479pabydo3Al6jF8hNvORkvgC50AYfaZ2pymLoGtEN8Z5u1E7aRPbDsPKMnbGvBUhWipKqcyJ2qppTW0UhVCoqErG4AFTaS5Jwl_ntqN-3qq8eMjaYtlNzXLCJYWJjZGVmZ2hiY2RlZmVmZw,,/mehandi-design-57caf6c3952c2.jpg", 
    "http://67.media.tumblr.com/41e8e1f6271b1350faa387eb097270c9/tumblr_nv8amk46Pn1qdlbsvo1_1280.jpg", 
    "https://www.stylishandtrendy.com/wp-content/uploads/2013/09/ganesha-mehndi-designs.png", 
    "https://s-media-cache-ak0.pinimg.com/736x/f4/f2/36/f4f2362a195833e10b2ad77a17ae4b0d.jpg", "http://i.ethnicoapp.com/m/ZPkNdGld1RNi2p-Iw8e8bj5TGGCKeVx3QRzCh7bc_cWFlN3LvmYlBSaLCgFeS3PB_Y2LBrOwDkCZCsSHpHByavSVh7_Z3d3wEXHWehIJotXpx57SipEsOFYvdGBsvm3OYWJjZGVmZ2hiY2RlZmVmZw,,/simple-mehndi-design-576176bc176cb.jpg", 
    "http://3.bp.blogspot.com/-WX4WDgL4Q1w/UXJWD_gp9NI/AAAAAAAAAW8/xIKhBR4T5-w/s400/Latest-And-Simple-Arabic-Mehndi-Designs-For-Hands-2012-8.jpg", 
    "http://www.ozyle.com/wp-content/uploads/2013/07/Beautiful-Bridle-Mehndi-Designs-4.jpg", 
    "http://img.thebridalbox.com/wp-content/uploads/2016/05/A-Bouquet-Of-Beauty-pakistani-arabic-mehndi-designs.jpg", 
    "https://s-media-cache-ak0.pinimg.com/564x/9a/bf/99/9abf99999c494045bf8965b64493e2ce.jpg", 
    "http://fashionspk.net/wp-content/uploads/2013/08/New-Eid-Henna-Mehndi-Collection-2013-Female-Fashion-Designs-1-450x214.jpg", 
    "http://1.bp.blogspot.com/-8bC4hSwfNcs/VArSX5kIg9I/AAAAAAAAGgs/AiQoxDeTnE0/s1600/0d424e3a3846cd33652611cf018583b5.jpg", 
    "https://s-media-cache-ak0.pinimg.com/originals/ed/4e/74/ed4e74c785378455236cb69063e8154b.jpg", 
    "https://lh3.googleusercontent.com/-pdEQcpmOJtc/Va84R8uMpkI/AAAAAAAABD8/LJqXlQsySts/w800-h800/ba3.jpg", 
    "https://4.bp.blogspot.com/-jzDRz30YAcA/V5affkyTIYI/AAAAAAAAB_o/bxzCpQvi5QM_GoRDWLWcA-sabZAHOCV3QCLcB/s640/20%2Bbest%2Bidea%2Babout%2Bmehndi%2Bdesigns%2Blatest%2Bfor%2Bhands%2B3.jpg", 
    "https://4.bp.blogspot.com/-RmtccTBjD0U/VzxaKHYPE2I/AAAAAAAAHKI/IX2YSTcLGGkll_dte1re9M1PCBrWV50CwCKgB/s1600/henna-arabic-mehndi-designs-2015-16.jpg", 
    "http://todayfashion.pk/wp-content/uploads/2016/04/Latest-Finger-Mehndi-Designs-Collection-2016-For-Girls-5.jpeg", 
    "http://pakifashion.com/wp-content/uploads/2014/06/Arabic-Mehndi-Design-For-Eid-5.jpg", 
    "http://pakistaniladies.com/wp-content/uploads/2014/09/Beautiful-Latest-Henna-Mehndi-Designs-for-Bride-Hands-Images-2015-Trends-2014-Pakistan-India-Banladesh-Srilanka-Facebook-pinterest-Collections.jpg", 
    "https://s-media-cache-ak0.pinimg.com/736x/54/0d/32/540d32cb066fac59a665d555b7b4e791.jpg", 
    "https://s-media-cache-ak0.pinimg.com/originals/09/d3/16/09d316cae4667de5fc043d61a6f45c30.jpg", 
    "http://www.mehmehndi.com/wp-content/uploads/2016/01/10-Easy-Simple-Arabic-Mehndi-Designs-For-Hands-In-2015-7.jpg", 
    "http://stylespk.com/wp-content/uploads/2013/05/Mehndi-Designs-collection-2013-9.jpg", 
    "https://s-media-cache-ak0.pinimg.com/originals/87/ec/c1/87ecc185dfeed84eb4b52378862ac749.jpg", 
    "https://s-media-cache-ak0.pinimg.com/736x/2b/0c/7f/2b0c7fdeacd199581da22042f949dd15.jpg", 
    "http://fashioninbox.com/wp-content/uploads/2015/07/Latest-Arabic-Eid-Mehndi-designs-2015-6.jpg", 
    "https://s-media-cache-ak0.pinimg.com/originals/8d/5b/ad/8d5bada1d6f7c83d804be2506bcf2541.jpg", 
    "https://s-media-cache-ak0.pinimg.com/736x/aa/68/fb/aa68fb77c63c66bdfd236ef2b2d3c14e.jpg", 
    "http://i0.wp.com/mehndidesignimages.com/wp-content/uploads/2015/12/back-hand-half-side-arabic-mehndi-design.jpg", 
    "http://easyday.snydle.com/files/2014/02/easy-arabic-mehandi-designs.jpg", 
    "http://www.mymehndidesign.com/wp-content/uploads/2014/08/Simple-Mehndi-Designs6.jpg", 
    "http://kfoods.com/article/images/mehandi-design-07-01.jpeg", 
    "https://s-media-cache-ak0.pinimg.com/736x/4a/d4/04/4ad404abc0359eaa9b605f52f83f0744.jpg", 
    "https://2.bp.blogspot.com/-NG9rOvpHAlM/VyYS3zFyHYI/AAAAAAAADWQ/u_M1a9iOu3Ydj-vtJ_qPjf9iUW1IObByACLcB/s1600/New%2BStylish%2BMehndi%2BDesigns-22.jpg", 
    "http://www.mehndidesign.net/wp-content/uploads/Indian-Hands-Mehndi-Designs.jpg", 
    "https://s-media-cache-ak0.pinimg.com/736x/cb/3f/f3/cb3ff31c393bb689ca769d32627f09ea.jpg", 
    "http://www.mymehndidesign.com/wp-content/uploads/2016/04/10-Best-and-Beautiful-Mehndi-Designs-for-Girls-Easyday6.jpg", 
    "http://www.abeautyclub.com/wp-content/uploads/2016/09/Finger-Eid-Mehndi-Designs-2016-For-Girls1-650x740.jpg", 
    "https://s-media-cache-ak0.pinimg.com/236x/68/7a/f1/687af13aff8c06615a09093ee9523b8d.jpg", 
    "https://s-media-cache-ak0.pinimg.com/736x/8b/7d/44/8b7d44fe8579ba677a568a3a14dc1fb5.jpg", 
    "http://topmehndidesigns.com/wp-content/uploads/2016/04/Beautiful-Best-Simple-Arabic-Mehndi-Designs-for-Hands-2016-2017-Indian-Pakistani.jpg", 
    "http://pakistaniladies.com/wp-content/uploads/2016/05/New-Latest-Simple-Arabic-Eid-Mehndi-Designs-2016-2017-for-Hands-Indian-Pakistani-13.jpg", 
    "https://i.ytimg.com/vi/VjMyNU5ozh4/hqdefault.jpg", 
    "https://s-media-cache-ak0.pinimg.com/1200x/21/07/ef/2107ef2ff18c98a4dd2b8b370ed2a4f0.jpg", 
    "http://1.bp.blogspot.com/-eG7EHfBDoeA/VS-qp3VwnMI/AAAAAAAACmk/Kx8lIJIL-lo/s1600/New-arabic-mehndi-design-2015-2.jpg", 
    "https://s-media-cache-ak0.pinimg.com/736x/93/89/5a/93895a42aa904fe91c2f5d7f258e3efe.jpg", 
    "http://topmehndidesigns.com/wp-content/uploads/2016/03/Simple-Fancy-Beautiful-Arabic-Bridal-Mehndi-Design-for-Hands-2016-2017-9.jpg", 
    "http://www.listfunda.com/wp-content/uploads/2016/09/2015-eid-mehndi-design-for-hands.jpg", 
    "http://www.mymehndidesign.com/wp-content/uploads/2016/05/Stylish-Mehndi-Designs-2016-For-Bridal-Wedding-Eid-Party5.jpg", 
    "http://ytimg.googleusercontent.com/vi/WhjvVcrOeSE/mqdefault.jpg", 
    "http://kms.ounousa.com/Content/ResizedImages/548/10000/inside/150810104225116.jpg", 
    "https://s-media-cache-ak0.pinimg.com/736x/19/63/9a/19639ae45916bb8a6491aa28ff0599d8.jpg", 
    "https://s-media-cache-ak0.pinimg.com/564x/c6/02/c1/c602c14135d4c7f95b54c97c6a43ec29.jpg", 
    "http://s7.postimg.org/9cxe0c0az/1291_647590481918937_1366870647_n.jpg", 
    "http://interestingmagazine.in/wp-content/uploads/2016/08/13686631_1751943998377719_2471147301102863183_n.jpg", 



    }; 

    public ImageAdapter(Context c) { 
     mContext = c; 
    } 

    public int getCount() { 
     return imageTotal; 
    } 

    @Override 
    public String getItem(int position) { 
     return mThumbIds[position]; 
    } 

    public long getItemId(int position) { 
     return 0; 
    } 


    public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imageView; 
     if (convertView == null) { 
      imageView = new ImageView(mContext); 
      imageView.setLayoutParams(new GridView.LayoutParams(480, 480)); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
      imageView.setPadding(8, 8, 8, 8); 
     } else { 
      imageView = (ImageView) convertView; 
     } 
     String url = getItem(position); 
     Picasso.with(mContext) 
       .load(url) 
       .placeholder(R.drawable.loader) 
       .fit() 
       .centerCrop().into(imageView); 
     return imageView; 
    } 
} 

イム

java.lang.ArrayIndexOutOfBoundsException: length=55; index=55 
                     at com.shirisha.mehandi.ImageAdapter1.getItem(ImageAdapter1.java:86) 
                     at com.shirisha.mehandi.ImageAdapter1.getView(ImageAdapter1.java:104) 
                     at android.widget.AbsListView.obtainView(AbsListView.java:3065) 
                     at android.widget.GridView.makeAndAddView(GridView.java:1463) 

任意の助けてください...

をされ、このエラーを取得
+1

あなたは 'mThumbIds'は54アイテムを持っていて、 – sushildlh

+0

は、実際には55個のアイテムを持って存在していない第55項目にアクセスしようとしている - ' length'を参照してください。しかし、配列はゼロインデックスされているため、実際にはインデックス55は56番目のアイテムです。 – clownba0t

答えて

1

メソッドgetCount()を次のように変更します。

public int getCount() { 
    return mThumbIds.length(); 
} 

希望すると助かります!

+1

もう少し詳しく説明すると、アダプターは 'imageTotal'アイテムを持っていると思うように設定されています。これはあなたのコードでは70ですが、実際には55アイテム(' mThumbIds'の内容)しかありません。したがって、存在しない56番目のアイテムに到達しようとすると失敗します。 – clownba0t

1

配列の長さが55であれば、インデックス0からインデックスarray.length-1にJavaのスタートでの配列は、その後でループする配列の最後のインデックスは、この変更がお手伝いします54 あるべきだからです。

public int getCount() { 
    return mThumbIds.length(); 
} 
+1

真実ですが、これは単なる症状であり、原因ではありません。原因は、アダプターが実際に行うよりも多くの項目を持っていると考えているためです(存在しない配列の56番目の項目にアクセスしようとしている理由です)。ジョスの答えを見てください。 – clownba0t

0

あなたは配列を使用しています。それで、あなたは2つの値にぶつかります。長さとインデックス例:この時点で

ArrayList<String> my_array = new ArrayList<String>(); 
// Add stuff to it. 
my_array.add("Ajeet"); 
my_array.add("Harry"); 
my_array.add("Chaitanya"); 
my_array.add("Steve"); 
my_array.add("Anuj"); 

は、my_arrayでは5の長さを持っていますが、最後に、「Anuj」、あなたは配列の最後の項目を求めるときに、あなたが何かを使用する必要がありますインデックス4を有します。以下のような:

String last = my_array.get(my_array.length - 1); 
関連する問題