私の問題を明確に説明できるかどうかわかりませんが、試してみます:)
たくさんのフォルダーがあり、各フォルダーは他のフォルダーに依存しています。
例 :
ドキュメント、写真、その他はルートに依存します。テキストはドキュメントに依存します。PNG、GIF、JPGは画像に依存します。
私が持っているリストを初めて表示するとき:
DOCUMENT
OTHER
PICTURES
たとえば、PICTURES を選択すると、リストに PNG、GIF、JPG が表示されます。
常に同じリストです。
そして、前のリストに戻る方法がわかりません。
古い値を保持するために別のリストを作成しようとしましたが、機能しません。または、その値の割り当てをどこに置くかわかりません。
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;
}