From 5b01c048f9dd3a873ec83008c21626b018a2b14c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Tue, 9 Jul 2024 11:41:53 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=A2=E3=83=8B=E3=83=A1=E3=83=BC=E3=82=B7?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E4=BB=98=E4=B8=8E=20WIP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/CommonSelectChildFragment.java | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/feature/common/src/main/java/one/nem/kidshift/feature/common/CommonSelectChildFragment.java b/feature/common/src/main/java/one/nem/kidshift/feature/common/CommonSelectChildFragment.java index f5d7619..f0face0 100644 --- a/feature/common/src/main/java/one/nem/kidshift/feature/common/CommonSelectChildFragment.java +++ b/feature/common/src/main/java/one/nem/kidshift/feature/common/CommonSelectChildFragment.java @@ -21,6 +21,7 @@ import one.nem.kidshift.data.ChildData; import one.nem.kidshift.feature.common.adapter.SelectShowChildListItemAdapter; import one.nem.kidshift.utils.FabManager; import one.nem.kidshift.utils.KSLogger; +import one.nem.kidshift.utils.RecyclerViewAnimUtils; import one.nem.kidshift.utils.factory.KSLoggerFactory; @AndroidEntryPoint @@ -32,6 +33,8 @@ public class CommonSelectChildFragment extends Fragment { ChildData childData; @Inject FabManager fabManager; + @Inject + RecyclerViewAnimUtils recyclerViewAnimUtils; private KSLogger logger; private SelectShowChildListItemAdapter adapter; @@ -54,19 +57,22 @@ public class CommonSelectChildFragment extends Fragment { RecyclerView childListRecyclerView = view.findViewById(R.id.selectShowChildListRecyclerView); childListRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + recyclerViewAnimUtils.setSlideUpAnimation(childListRecyclerView); + adapter = new SelectShowChildListItemAdapter(); + adapter.setCallback(taskId -> { + // 静的解析エラーが発生するのになぜか実行はできる↓ + findNavController(view).navigate(CommonSelectChildFragmentDirections.actionCommonSelectChildFragmentToCommonHomeFragmentParentChild(taskId)); + }); childData.getChildListDirect().thenAccept(childList -> { - adapter = new SelectShowChildListItemAdapter(childList); - adapter.setCallback(new SelectShowChildListItemAdapter.CompleteButtonClickedCallback() { - @Override - public void onClicked(String taskId) { - // 静的解析エラーが発生するのになぜか実行はできる↓ - findNavController(view).navigate(CommonSelectChildFragmentDirections.actionCommonSelectChildFragmentToCommonHomeFragmentParentChild(taskId)); - } - }); - }).thenRun(() -> { requireActivity().runOnUiThread(() -> { childListRecyclerView.setAdapter(adapter); + adapter.notifyItemRangeRemoved(0, adapter.getItemCount()); + adapter.setChildDataList(childList); + adapter.notifyItemRangeInserted(0, childList.size()); }); + }).exceptionally(e -> { + logger.error("Failed to load child list"); + return null; }); return view;