0

我有一个 listInterator,其中只有一个元素。我有一个函数需要知道它有下一个元素。但是方法 hasNext() 总是返回 true。

此代码位于按钮的 oncliclistener 内。我只想:当用户单击此按钮时,如果有下一个元素更改某个图像,如果没有更改为另一个图像。

    ListIterator<String> lInterator = datas.listIterator(datas.size() - 1);

     if(lInterator.hasNext()){
            imgDataProxima.setBackgroundResource(R.drawable.bt_next);
        } else {                    
            imgDataProxima.setBackgroundResource(R.drawable.btcheckin_next_disabled);
        }

        if(lInterator.hasPrevious()){
            imgDataAnterior.setBackgroundResource(R.drawable.bt_previous);
        } else {
            imgDataAnterior.setBackgroundResource(R.drawable.btcheckin_previous_disabled);
        }

在我的测试中,我只使用数组中的一个元素。hasPrevuos() 工作正常。但是即使数组中只有一个元素,hasNext() 也会重新显示为真。

4

1 回答 1

1

您必须实现lInterator.next()前向光标。

if(lInterator.hasNext()){
            imgDataProxima.setBackgroundResource(R.drawable.bt_next);
            lInterator.next(); // add this row
        } else {                    
            imgDataProxima.setBackgroundResource(R.drawable.btcheckin_next_disabled);
        }

        if(lInterator.hasPrevious()){
            imgDataAnterior.setBackgroundResource(R.drawable.bt_previous);
        } else {
            imgDataAnterior.setBackgroundResource(R.drawable.btcheckin_previous_disabled);
        }
于 2013-10-07T18:34:50.643 回答