コードの書き換えがなかなかうまくいってない

This commit is contained in:
nero 2024-01-16 11:10:35 +09:00
parent 341b694298
commit 23668c50e6
3 changed files with 40 additions and 20 deletions

View File

@ -7,28 +7,32 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import one.nem.lacerta.model.document.DocumentMeta; import one.nem.lacerta.model.ListItem;
//フォルダ管理機能 //フォルダ管理機能
public class LibraryFolderFragment extends Fragment { public class LibraryFolderFragment extends Fragment {
private Map<String, List<DocumentMeta>> folderMap; private Map<String, List<ListItem>> folderMap;
public LibraryFolderFragment() { public LibraryFolderFragment() {
folderMap = new HashMap<>(); folderMap = new HashMap<>();
} }
public void addDocumentToFolder(String folderName, DocumentMeta documentMeta) { public void addDocumentToFolder(String folderName, ListItem documentMeta) {
if (!folderMap.containsKey(folderName)) { if (!folderMap.containsKey(folderName)) {
folderMap.put(folderName, new ArrayList<>()); folderMap.put(folderName, new ArrayList<>());
} }
List<DocumentMeta> documents = folderMap.get(folderName); List<ListItem> documents = folderMap.get(folderName);
documents.add(documentMeta); documents.add(documentMeta);
} }
//フォルダに関連するドキュメントを取得するためのメソッド //フォルダに関連するドキュメントを取得するためのメソッド
public List<DocumentMeta> getDocumentsInFolder(String folderName) { public List<ListItem> getDocumentsInFolder(String folderName) {
return folderMap.getOrDefault(folderName, new ArrayList<>()); return folderMap.getOrDefault(folderName, new ArrayList<>());
} }
public List<ListItem> getDocumentInFolder(String default_folder) {
return null;
}
} }

View File

@ -104,26 +104,42 @@ public class LibraryTopFragment extends Fragment {
LinearLayoutManager layoutManager = new LinearLayoutManager(getContext()); LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
documentRecyclerView.setLayoutManager(layoutManager); documentRecyclerView.setLayoutManager(layoutManager);
// ドキュメントのメタデータを取得 try {
List<DocumentMeta> metas = document.getAllDocumentMetas(100); // ドキュメントのメタデータを取得
List<ListItem> metas = (List<ListItem>) LacertaLibrary.getLibraryPage(100);
// ドキュメントをデフォルトフォルダに追加
// フォルダごとにドキュメントを管理する
for (DocumentMeta meta : metas) {
folderManager.addDocumentToFolder("Default Folder", meta);
}
// 特定のフォルダのドキュメントを取得 if (metas != null) {
List<DocumentMeta> folderDocuments = folderManager.getDocumentsInFolder("Default Folder"); // ドキュメントのメタデータが取得できた場合の処理
LibraryItemPage libraryItemPage = new LibraryItemPage("Page Title", "Page ID", convertToLibraryItems(metas));
// トーストメッセージでドキュメントの数を表示
Toast.makeText(getContext(), "ドキュメント数: " + Integer.toString(metas.size()), Toast.LENGTH_LONG).show(); // ドキュメントをデフォルトフォルダに追加
// フォルダごとにドキュメントを管理する
for (ListItem meta : metas) {
folderManager.addDocumentToFolder("Default Folder", meta);
}
// 特定のフォルダのドキュメントを取得
List<ListItem> folderDocuments = folderManager.getDocumentInFolder("Default Folder");
// トーストメッセージでドキュメントの数を表示
Toast.makeText(getContext(), "ドキュメント数: " + Integer.toString(metas.size()), Toast.LENGTH_LONG).show();
//LibraryItemPageを使用してadapterを設定 //LibraryItemPageを使用してadapterを設定
LibraryItemPage libraryItemPage = new LibraryItemPage("Page Title", "Page ID", convertToLibraryItems(metas)); DocumentAdapter adapter = new DocumentAdapter(libraryItemPage.getListItems());
DocumentAdapter adapter = new DocumentAdapter(libraryItemPage.getListItems()); documentRecyclerView.setAdapter(adapter);
documentRecyclerView.setAdapter(adapter);
} else {
// ドキュメントのメタデータが null の場合の処理
Toast.makeText(getContext(), "ドキュメントメタデータが取得できませんでした", Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
// 例外処理
e.printStackTrace();
}
// Use a LinearLayoutManager to specify the layout // Use a LinearLayoutManager to specify the layout
return view; return view;
} }

View File

@ -8,7 +8,7 @@ import one.nem.lacerta.model.document.DocumentMeta;
//ListItemとTopを結びつけるためのクラス //ListItemとTopを結びつけるためのクラス
public class LibraryUtils { public class LibraryUtils {
public static ArrayList<ListItem> convertToLibraryItems(List<DocumentMeta> metas) { public static ArrayList<ListItem> convertToLibraryItems(List<ListItem> metas) {
ArrayList<ListItem> libraryItems = new ArrayList<>(); ArrayList<ListItem> libraryItems = new ArrayList<>();
for (DocumentMeta meta : metas) { for (DocumentMeta meta : metas) {
ListItem listItem = new ListItem(); ListItem listItem = new ListItem();