CharSequence[] mPhotoOptions = new CharSequence[10];
mPhotoOptions = getResources().getStringArray(R.array.save_coupon_add_photo_options);
if (!TextUtils.isEmpty( mItemList.mItemImagePath ) || !TextUtils.isEmpty( mResizedPhotoFilePath ) ) {
mPhotoOptions[2]= getResources().getString(R.string.remove_image);
}
它给出
ArrayOutOfBoundException
最佳答案
您在第一行代码中声明并分配了一个10个CharSequence数组,但是在第二行代码中,它被一个不确定长度的数组替换,该数组的长度可能小于您的预期。
(对OP的跟进)
要添加元素,您必须创建一个新数组并复制旧结果。那是您的Java。 (是否可以使用ArrayList 代替???)使用大小和索引的硬编码数字(您可能不应该这样做)
CharSequence[] newPhotoOptions = Arrays.copyOf(mPhotoOptions, 10); // or old length +1
newPhotoOptions[2] = thatNewValue; // or old length
(请注意-某些旧版本的Android没有Arrays.copyOf(),因此您可能想使用System.arraycopy()。)
关于java - CharSequence []:无法将元素添加到数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18997479/