是否必须一次又一次地定义地图?

希曼敏

我打算使用SimpleAdapter将数据从数据库加载到ListView,就像:

private void loadData() {
        // TODO Auto-generated method stub
        Cursor cursor = mHelper.getReadableDatabase().rawQuery(
                "select * from dict", null);
        int wordIndex = cursor.getColumnIndex("word");
        int detailIndex = cursor.getColumnIndex("detail");
        int flagIndex = cursor.getColumnIndex("flag");
        **(1)**//Map<String,String>map = new HashMap<String,String>();
        //map defined here, items are all the last record

        for (cursor.moveToFirst();!cursor.isAfterLast();cursor.moveToNext()){
            **(2)**Map<String,String>map = new HashMap<String,String>();
            if(cursor.getString(wordIndex)==null) break;
//          Log.d(tag,"word: "+cursor.getString(wordIndex));
            map.put("word", cursor.getString(wordIndex));
//          Log.d(tag,"detail: "+cursor.getString(detailIndex));
            map.put("detail", cursor.getString(detailIndex));   
//          Log.d(tag,"flag: "+cursor.getString(flagIndex));
            map.put("flag", cursor.getString(flagIndex));
            listItems.add(map);
        }
        cursor.close();
    }

listItems定义为 ArrayList<Map<String, String>> listItems;

当我将Map定义为1时,其中map在for循环之外,listItems保留最后一个的listItems.length记录,而map定义为2时,listItems将listItems.length记录保留为数据库。有人可以告诉我为什么吗?我会很感激您的回答!

纳宾

第二种方法,即2,是正确的方法

原因是在每次迭代都会创建一个Map<String,String>类型的对象,因此ArrayList,当您使用方式2时,每次迭代都会向您的对象中添加一个新项目

但是以第一种方式,即在每次迭代中都为1时,不会创建新对象,因为它仅在for循环之前完成一次因此,您将无法获得想要的东西。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CSS3动画一次又一次地重复

来自分类Dev

如何在C ++中一次又一次地从函数返回?

来自分类Dev

Android服务一次又一次地创建

来自分类Dev

Node js函数一次又一次地调用

来自分类Dev

Javascript无法一次又一次地打印数据

来自分类Dev

一次又一次地更改时如何添加元素

来自分类Dev

Android SQLite:数据一次又一次地添加

来自分类Dev

如何一次又一次地重复(递归)查询?

来自分类Dev

无法一次又一次地在LinkedList中插入相同的元素

来自分类Dev

Flutter:为什么setState((){})一次又一次地设置数据

来自分类Dev

如何一次又一次地选择读/写?

来自分类Dev

一次又一次地馈送avconv

来自分类Dev

如何一次又一次地调用URL

来自分类Dev

init方法在servlet中一次又一次地调用

来自分类Dev

避免一次又一次地从JSON获取数据

来自分类Dev

通知被一次又一次地触发

来自分类Dev

要重用jQuery函数,使函数一次又一次地使用

来自分类Dev

在 Fortran 95 中一次又一次地读取文件的内容

来自分类Dev

Stripe Payment API 一次又一次地发送令牌请求

来自分类Dev

Azure 容器实例一次又一次地失败

来自分类Dev

Square 一次又一次地改变速度

来自分类Dev

为什么此Python代码一次又一次地打印变量之一?

来自分类Dev

同一对象在C#中一次又一次地实例化

来自分类Dev

在 html 中一次又一次地浏览同一个文件

来自分类Dev

高效的jQuery / JS-避免一次又一次地复制粘贴相同的代码

来自分类Dev

如何防止一次又一次地重新创建新的Fragment?

来自分类Dev

如何一次又一次地调用方法,直到它返回包含“ None”的“ Future”值

来自分类Dev

迅速,如何通过按钮一次又一次地播放声音

来自分类Dev

如何在html中重复代码而不一次又一次地写相同的代码

Related 相关文章

  1. 1

    CSS3动画一次又一次地重复

  2. 2

    如何在C ++中一次又一次地从函数返回?

  3. 3

    Android服务一次又一次地创建

  4. 4

    Node js函数一次又一次地调用

  5. 5

    Javascript无法一次又一次地打印数据

  6. 6

    一次又一次地更改时如何添加元素

  7. 7

    Android SQLite:数据一次又一次地添加

  8. 8

    如何一次又一次地重复(递归)查询?

  9. 9

    无法一次又一次地在LinkedList中插入相同的元素

  10. 10

    Flutter:为什么setState((){})一次又一次地设置数据

  11. 11

    如何一次又一次地选择读/写?

  12. 12

    一次又一次地馈送avconv

  13. 13

    如何一次又一次地调用URL

  14. 14

    init方法在servlet中一次又一次地调用

  15. 15

    避免一次又一次地从JSON获取数据

  16. 16

    通知被一次又一次地触发

  17. 17

    要重用jQuery函数,使函数一次又一次地使用

  18. 18

    在 Fortran 95 中一次又一次地读取文件的内容

  19. 19

    Stripe Payment API 一次又一次地发送令牌请求

  20. 20

    Azure 容器实例一次又一次地失败

  21. 21

    Square 一次又一次地改变速度

  22. 22

    为什么此Python代码一次又一次地打印变量之一?

  23. 23

    同一对象在C#中一次又一次地实例化

  24. 24

    在 html 中一次又一次地浏览同一个文件

  25. 25

    高效的jQuery / JS-避免一次又一次地复制粘贴相同的代码

  26. 26

    如何防止一次又一次地重新创建新的Fragment?

  27. 27

    如何一次又一次地调用方法,直到它返回包含“ None”的“ Future”值

  28. 28

    迅速,如何通过按钮一次又一次地播放声音

  29. 29

    如何在html中重复代码而不一次又一次地写相同的代码

热门标签

归档