/**
- 文件库对话框
-
/
public class FileLibDialog extends Dialog implements DialogInterface{
/*- 文件库数据结构为
- parentList 放 文件库名.
- childList 放对应文件库里的文件.
- 库名在parentList的位置与其文件在childList的位置一样
-
*/
private ArrayList parentList;
private ArrayList> childList;
private FileManager fileManager;
private Button addBtn, cancelBtn;
private String path;
private static final String close = "关闭";
RelativeLayout layout;
ExpandableListView lists;
ExpandListAdapter adapter;
public static final char FILE_LIB_ADD = 0;
public static final char FILE_LIB_OPEN = 1;
public char doWhat = 0;
public void setPath(String s) { path = s;}
public FileLibDialog(final FileManager fm, ArrayList parent,
ArrayList> child)
{
super((Context) fm);
parentList = parent;
childList = child;
this.fileManager = fm;
LayoutInflater inflater = fm.getLayoutInflater();
layout = (RelativeLayout) inflater.inflate(R.layout.filelibs, null);
lists = (ExpandableListView) layout.findViewById(R.id.expandableListView);
adapter = new ExpandListAdapter();
lists.setAdapter(adapter);
setTitle("文件库");
setContentView(layout);/** 添加文件到库*/
lists.setOnGroupClickListener(new OnGroupClickListener()
{
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id)
{
if (doWhat == FILE_LIB_ADD)
{
ArrayList child = childList.get(groupPosition);
if (!fm.isMultFile())
{
if (child.contains(path))
{
Toast.makeText(fm, path + "已存在", Toast.LENGTH_SHORT).show();
return false;
}
child.add(path);
} else {
ArrayList fis = fileManager.currentFileInfo();
ArrayList fTmp = fileManager.selectedItem();
int size = fTmp.size();
String tmp;
for (int i = 0; i < size; i++)
{
tmp = fis.get(fTmp.get(i)).path();
if (child.contains(tmp))
{
continue;
}
child.add(tmp);
}
}
FileLibDialog.this.dismiss();
return true;
}
return false;
}
});