Java 当最后一个字符串被删除时,会导致应用程序崩溃

Java 当最后一个字符串被删除时,会导致应用程序崩溃,java,android,string,arraylist,Java,Android,String,Arraylist,好的。。这是我的问题。 我有一个stings的列表,里面有10个项目。 然后我随机化列表并在文本视图中显示一个随机字符串。 删除最后一个字符串后,应用程序崩溃。有什么建议可以解决这个问题吗? 代码如下: Collections.shuffle(learnlist); showlearntv.setText(learnlist.get(0)); nextlearn.setOnClickListener(new View.OnClickListener() {

好的。。这是我的问题。 我有一个stings的列表,里面有10个项目。 然后我随机化列表并在文本视图中显示一个随机字符串。 删除最后一个字符串后,应用程序崩溃。有什么建议可以解决这个问题吗? 代码如下:

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

您正试图对可能包含少于两个元素的列表调用get1。 您应该添加一些安全检查。例如:

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

在单击处理程序上,首先删除该项

learnlist.remove(0) 
如果列表中有任何项目

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

否则,请执行其他操作。

在确保learnlist.size>1之前,不要调用learnlist.get1。如果没有项目,请不要删除/获取扫描我以某种方式创建一个文本,其中显示最后一个字符串的列表结尾?您一定得到了异常,对吗?