Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 迭代器字符串数组未捕获所有元素_Java_Android_Arrays_Iterator - Fatal编程技术网

Java 迭代器字符串数组未捕获所有元素

Java 迭代器字符串数组未捕获所有元素,java,android,arrays,iterator,Java,Android,Arrays,Iterator,这个逻辑对我来说是有意义的,我无法理解为什么它只打印最后一个元素,但出于某种原因,除了微调器中的每个元素外,这段代码运行良好,它对每个元素都显示课程:5和“ShortCourseDesc6”。它应该每次都递增 public void setListData() { for (int i = 0; i < 7; i++) { List<String> imageURLArray = new ArrayList<String>()

这个逻辑对我来说是有意义的,我无法理解为什么它只打印最后一个元素,但出于某种原因,除了微调器中的每个元素外,这段代码运行良好,它对每个元素都显示课程:5和“ShortCourseDesc6”。它应该每次都递增

public void setListData()
{       
    for (int i = 0; i < 7; i++) {

        List<String> imageURLArray = new ArrayList<String>();
        imageURLArray.add("ShortCourseDesc1");
        imageURLArray.add("ShortCourseDesc2");
        imageURLArray.add("ShortCourseDesc3");
        imageURLArray.add("ShortCourseDesc4");
        imageURLArray.add("ShortCourseDesc5");
        imageURLArray.add("ShortCourseDesc6");

        Iterator<String> iter = imageURLArray.iterator();

        final SpinnerModel sched = new SpinnerModel();

          /******* Firstly take data in model object ******/
        for(int z = 0; iter.hasNext(); z++) 
        {
            sched.setCourseName("Course: " + z);
            sched.setImage("image" + z);
            sched.setCourseShortDesc(iter.next());
        }

        /******** Take Model Object in ArrayList **********/
        CustomListViewValuesArr.add(sched);
    }

  }
public void setListData()
{       
对于(int i=0;i<7;i++){
List imageURLArray=新建ArrayList();
imageURLArray.add(“ShortCourseDesc1”);
imageURLArray.add(“ShortCourseDesc2”);
imageURLArray.add(“ShortCourseDesc3”);
imageURLArray.add(“ShortCourseDesc4”);
imageURLArray.add(“ShortCourseDesc5”);
imageURLArray.add(“ShortCourseDesc6”);
迭代器iter=imageURLArray.Iterator();
最终喷丝头型号sched=新喷丝头型号();
/*******首先在模型对象中获取数据******/
for(int z=0;iter.hasNext();z++)
{
附表setCourseName(“路线:+z”);
附表setImage(“图像”+z);
sched.setCourseShortDesc(iter.next());
}
/********在ArrayList中获取模型对象**********/
CustomListViewValuesArr.add(附表);
}
}

您必须有更多的微调器。:)因为您只更新sched SpinnerModel对象。然后在遍历所有元素后打印它,得到ShortCourseDesc6和5。 尝试将代码更改为:

public class SpinnerData{
    private String courseName;
    private String image;
    private String courseShortDesc;
   //getters and setters...

}

 List<SpinnerData> schedList = new ArrayList<SpinnerData>();

          /******* Firstly take data in model object ******/
        for(int z = 0; iter.hasNext(); z++) 
        {
            SpinnerDatasched= new SpinnerData();
            sched.setCourseName("Course: " + z+1);
            sched.setImage("image" + z+1);
            sched.setCourseShortDesc(iter.next());
            schedList.add(sched);
        }
SpinnerListModel spinnerListModel = new SpinnerListModel(schedList);

你一次又一次地更新同一个微调器,正如我正确理解的,
SpinnerModel
是一个接口,那么如何实例化它呢?我认为解决方案是使用
喷丝头列表模型
():


根据您当前的代码,ShortCourseDesc1到ShortCourseDesc6将打印6次。我看不到只有6次将打印不太清楚您的意思,如何向微调器添加更多微调器?这正是打印“课程:5和快捷课程esc6”6次的内容。我已经检查了两个适合您的版本。它不像“SpinnerListModel”,您是指“SpinnerModel”还是“List”?SpinnerListModel是java swing中的一个类。SpinnerModel是一个抽象类,因此无法对其进行初始化。因为在java中,抽象类不能使用“new”创建。在我的第一个清单中,我实现了模型类SpinnerData。
  /******* Firstly take data in model object ******/
for(int z = 0; iter.hasNext(); z++) 
{
    SpinnerModel sched = new SpinnerModel();
    sched.setCourseName("Course: " + z+1);
    sched.setImage("image" + z+1);
    sched.setCourseShortDesc(iter.next());
    CustomListViewValuesArr.add(sched);
} 
SpinnerModel model = new SpinnerListModel(Arrays.asList("Hello", "This", "Is", "A", "Spinner", "List", "Model"));