当前位置: 代码迷 >> Android >> android 遍历索引文件夹放到 ArrayList<HashMap<String,String>> 中,为什么出现了重复数据
  详细解决方案

android 遍历索引文件夹放到 ArrayList<HashMap<String,String>> 中,为什么出现了重复数据

热度:732   发布时间:2016-05-01 10:39:11.0
android 遍历目录文件夹放到 ArrayList<HashMap<String,String>> 中,为什么出现了重复数据?
//遍历文件夹
private void GetAllEng(){

File dir = new File("/sdcard/thisnote");
File file[] = dir.listFiles();
if(file.length < 1) return;
file_map.clear();
for(int i = 0; i < file.length; i++){
if(file[i].isDirectory()){
file_map.put("EngName", file[i].getName());
openeng_list.add(file_map);
}

}

}

//信息对话框
    protected void Messagedialog(String TempStr){ 
AlertDialog.Builder builder = new Builder(opendata.this); 
builder.setIcon(android.R.drawable.ic_menu_view);
builder.setMessage(TempStr); 
builder.setTitle("信息提示"); 
builder.setPositiveButton("确定", 
new android.content.DialogInterface.OnClickListener() { 
public void onClick(DialogInterface dialog, int which) { 
dialog.cancel();
}
}); 
builder.create().show(); 
    }

在 protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.opendata);
        
      
        GetAllEng();
        //在 ListView 中显示所有的工程信息
         Messagedialog(openeng_list.toString());
}
中 Show 出一个信息提示框,查看信息时,却发现条目数量正确,但内容却为一个条目的重复值,不知道什么地方出问题了,求大神指点,谢谢。附图如下:
Android HashMap 遍历

------解决方案--------------------
引用:
Quote: 引用:

大概看了下
hashmap的结构是key value
你的key每次都一样,你怎么保证你的value不是一样的???


我是想把 /sdcard/thisnote 下的所有目录遍历出来,把目录名都放在了 file_map 中,键值为 EngName。如果照您所说,应该怎样处理,请大体讲一下路子,谢谢。


最简单的就是直接把目录放到arraylist里面
list.add(目录名)
  相关解决方案