Java 为什么listInterator.hasNext()总是返回true?

Java 为什么listInterator.hasNext()总是返回true?,java,android,Java,Android,我有一个listInterator,其中只有一个元素。我有一个函数,需要知道它下一个元素的id。但是方法hasNext()总是返回true 此代码位于按钮的oncliclistener中。我只想:当用户点击这个按钮时,如果有下一个元素改变一些图像,如果没有改变到另一个图像 ListIterator<String> lInterator = datas.listIterator(datas.size() - 1); if(lInterator.hasNext()){

我有一个listInterator,其中只有一个元素。我有一个函数,需要知道它下一个元素的id。但是方法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);
        }
ListIterator lInterator=datas.ListIterator(datas.size()-1);
if(lInterator.hasNext()){
imgDataProxima.setBackgroundResource(R.drawable.bt_next);
}否则{
imgDataProxima.setBackgroundResource(R.drawable.btcheckin\u next\u禁用);
}
if(lInterator.hasPrevious()){
Imgdatafront.setBackgroundResource(R.drawable.bt_-previous);
}否则{
imgdataprevious.setBackgroundResource(R.drawable.btcheckin\u previous\u disabled);
}

在我的测试中,我只使用数组中的一个元素。hasPreviuos()工作正常。但是hasNext()即使在数组中只有一个元素的情况下也会重新输出true。

必须实现
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);
        }

暂时还不行。我需要一些类似“如果/否则”的东西。如果有下一个,它将改变一个图像,如果没有下一个,它将改变到另一个图像。我做了你说的,但它不工作。此函数位于按钮的oncliclistener中。很抱歉,它的作用域不在问题范围内。你问为什么
hasNext()
返回true,我给了你解决方案,你的问题在哪里。我无法查看您的代码
它不工作
,啊,软件中最无用的语句!因为您从不移动迭代器的“位置”。此代码位于按钮的oncliclistener中。我只是想:当用户点击这个按钮时,如果下一个元素改变了一些图像,如果没有改变到另一个图像。也许你想检查列表的大小?我想你误解了迭代器的观点,它是关于完全通过列表的。对于whit,在调用iterator.next()之前,假设list至少有一个元素,hasNext()将为true。如何知道interator a是否有下一个元素?如何知道id my interator或my Arraylist有下一个元素?