2013-04-26 77 views
0

我不知道如果我能解释清楚我的问题,但我会尝试:)保持一个列表<SelectItem>的旧值的回以前

我有很多文件夹,每个文件夹依赖的其他。

示例:

文档,图片,其他依赖于root。 文本取决于文档。 PNG,GIF,JPG取决于图片。

我第一次显示该列表我有:
DOCUMENT
OTHER
PICTURES

当我选择例如PICTURES,列表将显示PNG,GIF,JPG。
它总是相同的列表。
而我不知道如何回到以前的列表。
我tryed以创建其他列表保留旧值,但它不工作,或者我不知道在哪里把该值的assignement。

public List<SelectItem> getListSelectItemFolder() { 
    if(mListSelectItemFolder == null) 
    { 
     mListSelectItemFolder = new ArrayList<SelectItem>(); 
     List<Folder> lListFolder = getFolderManager().searchFolder(getFolderManager().getRootFolderId(mSessionBean.getUser(), mSessionBean.isNotUserAdminGe()), mSessionBean.getUser().getFirm(), mSessionBean.isNotUserAdminGe()); 
     mListSelectItemFolder.add(new SelectItem(getFolderManager().getById(getFolderManager().getRootFolderId(mSessionBean.getUser(), mSessionBean.isNotUserAdminGe())), "root")); 
     for (Folder lFolder : lListFolder) { 
      if(lFolder.getId()>=0) 
      { 
       mListSelectItemFolder.add(new SelectItem(lFolder, lFolder.getName())); 
      } 
     } 
     return mListSelectItemFolder; 
    } 
    if(getDocument().getFolder()!=null) 
    { 
     List<Folder> lListFolder = getFolderManager().searchFolder(mDocument.getFolder().getId(), mSessionBean.getUser().getFirm(), mSessionBean.isNotUserAdminGe()); 
     if(lListFolder.size()>0) 
     { 
      mListSelectItemFolder = new ArrayList<SelectItem>(); 
      for (Folder lFolder : lListFolder) { 
       if(lFolder.getId()>=0) 
       { 
        mListSelectItemFolder.add(new SelectItem(lFolder, lFolder.getName())); 
       } 
      } 
     } 
    } 
    return mListSelectItemFolder; 
} 

回答

0

高达请=)
我已经创建了一个按钮,这里是代码:

public void backButton() 
{ 
    if(mListSelectItemFolder==null || ((Folder) mListSelectItemFolder.get(0).getValue()).getIdDep()==0) 
    { 
     //if the list is null or the parent folder is the first one name rootone (id=0) 
     mListSelectItemFolder=null; 
    } 
    else 
    { 
     if(mFolderManager.getById(mFolderManager.getById(((Folder) mListSelectItemFolder.get(0).getValue()).getIdDep()).getIdDep()).getIdDep()==0) 
     { 
      //case where we gonna go back in the first level, the start folder 
      mListSelectItemFolder=null; 
     } 
     else 
     { 
      getDocument().setFolder(((Folder) mFolderManager.getById(((Folder)mListSelectItemFolder.get(0).getValue()).getIdDep()))); 
     } 
    } 
} 
相关问题