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

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.Map;
import one.nem.lacerta.model.document.DocumentMeta;
import one.nem.lacerta.model.ListItem;
//フォルダ管理機能
public class LibraryFolderFragment extends Fragment {
private Map<String, List<DocumentMeta>> folderMap;
private Map<String, List<ListItem>> folderMap;
public LibraryFolderFragment() {
folderMap = new HashMap<>();
}
public void addDocumentToFolder(String folderName, DocumentMeta documentMeta) {
public void addDocumentToFolder(String folderName, ListItem documentMeta) {
if (!folderMap.containsKey(folderName)) {
folderMap.put(folderName, new ArrayList<>());
}
List<DocumentMeta> documents = folderMap.get(folderName);
List<ListItem> documents = folderMap.get(folderName);
documents.add(documentMeta);
}
//フォルダに関連するドキュメントを取得するためのメソッド
public List<DocumentMeta> getDocumentsInFolder(String folderName) {
public List<ListItem> getDocumentsInFolder(String folderName) {
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());
documentRecyclerView.setLayoutManager(layoutManager);
// ドキュメントのメタデータを取得
List<DocumentMeta> metas = document.getAllDocumentMetas(100);
try {
// ドキュメントのメタデータを取得
List<ListItem> metas = (List<ListItem>) LacertaLibrary.getLibraryPage(100);
// ドキュメントをデフォルトフォルダに追加
// フォルダごとにドキュメントを管理する
for (DocumentMeta meta : metas) {
folderManager.addDocumentToFolder("Default Folder", meta);
}
// 特定のフォルダのドキュメントを取得
List<DocumentMeta> folderDocuments = folderManager.getDocumentsInFolder("Default Folder");
if (metas != null) {
// ドキュメントのメタデータが取得できた場合の処理
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 libraryItemPage = new LibraryItemPage("Page Title", "Page ID", convertToLibraryItems(metas));
DocumentAdapter adapter = new DocumentAdapter(libraryItemPage.getListItems());
documentRecyclerView.setAdapter(adapter);
DocumentAdapter adapter = new DocumentAdapter(libraryItemPage.getListItems());
documentRecyclerView.setAdapter(adapter);
} else {
// ドキュメントのメタデータが null の場合の処理
Toast.makeText(getContext(), "ドキュメントメタデータが取得できませんでした", Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
// 例外処理
e.printStackTrace();
}
// Use a LinearLayoutManager to specify the layout
return view;
}

View File

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