android - java.lang.IndexOutOfBoundsException : Index: 1, 大小:0

标签 android android-layout

我有一个应用程序可以在包含视频和图像的轮播中发布故事。如果帖子是视频,它会像 Instagram 一样有声音开/关图标。当我从第一个视频转到第二个或第三个视频并点击声音开/关图标时,我的应用程序崩溃了。

下面是代码 fragment :

ArrayList<String> b_checkSound = new ArrayList<>();
cell_soundoff.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if (mediaPlayer != null) {
            if (mediaPlayer.isPlaying()) {
                mediaPlayer.setVolume(1, 1);
                cell_soundon.setVisibility(View.VISIBLE);
                cell_soundoff.setVisibility(View.GONE);
                if(b_checkSound != null) {
                    b_checkSound.add(position, "true");
                }
            }
        }
    }
});

cell_soundon.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if (mediaPlayer != null) {
            if (mediaPlayer.isPlaying()) {
                mediaPlayer.setVolume(0, 0);
                cell_soundoff.setVisibility(View.VISIBLE);
                cell_soundon.setVisibility(View.GONE);
                if (b_checkSound != null && b_checkSound.size() > position) {
                    b_checkSound.remove(position);
                }
            }
        }
    }
});

这是我得到的错误:

08-27 16:27:28.954 27154-27154/com.leadplatform.kfarmers E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.leadplatform.kfarmers, PID: 27154
    java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
        at java.util.ArrayList.add(ArrayList.java:483)
        at com.leadplatform.kfarmers.view.diary.DiaryListFragment$Stroy_imageviewAdapter$1.onClick(DiaryListFragment.java:2887)
        at android.view.View.performClick(View.java:6891)
        at android.view.View$PerformClick.run(View.java:26083)
        at android.os.Handler.handleCallback(Handler.java:789)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6938)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

最佳答案

您的数组似乎是空的,您正尝试使用 position = 1 在第一个元素之后添加一个元素。

关于android - java.lang.IndexOutOfBoundsException : Index: 1, 大小:0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52034651/

相关文章:

java - 第一个 Hibernate 测试给出错误 [编辑]

android - 无法加载 libfoo : findLibrary returned null

java - 在Android中对ArrayList中的单个值下的数据列表进行分类。(参见说明)

单一 View 中的Android图像和文本

android - 键盘将 EditText 隐藏在 android 中的 ScrollView 中?

android - 在android中像iphone一样设计布局

Android OpenGL 视频捕获

android - 在不抬起手指的情况下检测触摸的项目改变(滑动)

安卓 : How to change width of individual tabs in tab layout?

android - 错误状态和正常状态有不同颜色的提示