删除最后一个字符串会导致应用程序崩溃

时间:2016-12-19 13:43:04

标签: java android string arraylist

好的..这是我的问题。 我有一个带有10个项目的叮当声。 然后我随机化列表并在textview中显示随机字符串。 删除最后一个字符串后,应用程序崩溃了。任何提示要解决这个问题? 这是代码:

    Collections.shuffle(learnlist);
    showlearntv.setText(learnlist.get(0));
    nextlearn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showlearntv.setText(learnlist.get(1));
            learnlist.remove(0);

2 个答案:

答案 0 :(得分:0)

您正尝试在可能包含少于两个元素的列表上调用get(1)。 你应该添加一些安全检查。 E.g:

nextlearn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (!learnlist.isEmpty()) {
            learnlist.remove(0);
        }
        if (!learnlist.isEmpty()) {
            showlearntv.setText(learnlist.get(0));
        }
    }

答案 1 :(得分:0)

在点击处理程序上,首先删除项目

learnlist.remove(0) 

然后,如果列表中有任何项目,

showlearntv.setText(learnlist.get(0));

否则做别的事。