//遍历文件夹
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 出一个信息提示框,查看信息时,却发现条目数量正确,但内容却为一个条目的重复值,不知道什么地方出问题了,求大神指点,谢谢。附图如下:
AndroidHashMap遍历
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 出一个信息提示框,查看信息时,却发现条目数量正确,但内容却为一个条目的重复值,不知道什么地方出问题了,求大神指点,谢谢。附图如下:
AndroidHashMap遍历
hashmap的结构是key value
你的key每次都一样,你怎么保证你的value不是一样的???
我是想把 /sdcard/thisnote 下的所有目录遍历出来,把目录名都放在了 file_map 中,键值为 EngName。如果照您所说,应该怎样处理,请大体讲一下路子,谢谢。
我是想把 /sdcard/thisnote 下的所有目录遍历出来,把目录名都放在了 file_map 中,键值为 EngName。如果照您所说,应该怎样处理,请大体讲一下路子,谢谢。最简单的就是直接把目录放到arraylist里面
list.add(目录名)
if(f.isDirectory()){
HashMap<String, String> this_map = new HashMap<String, String>();
this_map.put("EngName", f.getName());
openeng_list.add(this_map);
}