From 39f7056f3011450ac256076f569f88f0e1afa620 Mon Sep 17 00:00:00 2001 From: Niki Date: Wed, 3 Jul 2024 16:24:46 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AD=90=E4=BE=9B=E3=81=AE=E3=83=81?= =?UTF-8?q?=E3=82=A7=E3=83=83=E3=82=AF=E3=83=9C=E3=83=83=E3=82=AF=E3=82=B9?= =?UTF-8?q?=E5=B7=A6=E5=AF=84=E3=81=9B=E3=81=97=E3=81=9F=E3=82=88=E3=82=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feature/parent/ParentAdapter.java | 12 +++- .../feature/parent/ParentMainFragment.java | 68 ++++++++----------- 2 files changed, 39 insertions(+), 41 deletions(-) diff --git a/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java index a1e7ce4..94c2d4b 100644 --- a/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java +++ b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java @@ -15,10 +15,16 @@ import one.nem.kidshift.model.tasks.TaskItemModel; public class ParentAdapter extends RecyclerView.Adapter { - private final List taskDataList; + private List taskDataList; - ParentAdapter(List taskDataList) { this.taskDataList = taskDataList; } +// ParentAdapter(List taskDataList) { this.taskDataList = taskDataList; } + ParentAdapter(){ + } + + public void setTaskDataList(List taskDataList){ + this.taskDataList = taskDataList; + } static class MainViewHolder extends RecyclerView.ViewHolder{ @@ -47,6 +53,6 @@ public class ParentAdapter extends RecyclerView.Adapter { + parentAdapter.setTaskDataList(taskItemModel); requireActivity().runOnUiThread(()->{ parentAdapter.notifyDataSetChanged(); }); @@ -72,40 +74,6 @@ public class ParentMainFragment extends Fragment { // Required empty public constructor } - - private void dataRefresh(){ - swipeRefreshLayout = requireView().findViewById(R.id.swipe_refresh_layout); - swipeRefreshLayout.setRefreshing(true); - - RecyclerView recyclerView =requireView().findViewById(R.id.main_recycle_view); - - recyclerView.setHasFixedSize(true); - - RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext()); - recyclerView.setLayoutManager(layoutManager); - - List task = taskData.getTasks(new TaskItemModelCallback() { - @Override - public void onUnchanged() { - // TODO - } - - @Override - public void onUpdated(List taskItem) { - // TODO - } - - @Override - public void onFailed(String message) { - // TODO - } - }).join(); - - RecyclerView.Adapter mainAdapter = new ParentAdapter(task); - recyclerView.setAdapter(mainAdapter); - - swipeRefreshLayout.setRefreshing(false); - } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -114,6 +82,32 @@ public class ParentMainFragment extends Fragment { //タスク一覧表示 View view = inflater.inflate(R.layout.fragment_parent_main, container, false); + swipeRefreshLayout = view.findViewById(R.id.swipe_refresh_layout); + + RecyclerView recyclerView = view.findViewById(R.id.main_recycle_view); + + recyclerView.setHasFixedSize(true); + + RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext()); + recyclerView.setLayoutManager(layoutManager); + + parentAdapter = new ParentAdapter(); + recyclerView.setAdapter(parentAdapter); + updateTaskInfo(); + + //Pull-to-refresh(スワイプで更新) + try { + + swipeRefreshLayout.setOnRefreshListener(() ->{ + updateTaskInfo(); + }); + } catch (Exception e){ + } + + + + + //お手伝い追加ダイアログ LayoutInflater inflater1 = requireActivity().getLayoutInflater(); View view1 = inflater1.inflate(R.layout.add_task_list_dialog,null); @@ -126,6 +120,8 @@ public class ParentMainFragment extends Fragment { RecyclerView.LayoutManager layoutManager1 = new LinearLayoutManager(getContext()); recyclerView1.setLayoutManager(layoutManager1); + + ksLogger.debug("子供一覧取得開始"); List child = childData.getChildList().join(); ksLogger.debug("子供一覧取得完了"); @@ -151,10 +147,6 @@ public class ParentMainFragment extends Fragment { public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); // Do something... - SwipeRefreshLayout swipeRefreshLayout = view.findViewById(R.id.swipe_refresh_layout); - swipeRefreshLayout.setOnRefreshListener(()->{ - dataRefresh(); - }); } } \ No newline at end of file From 7487d6aa1b1e09050ca4a58f31b8797829da41ee Mon Sep 17 00:00:00 2001 From: Niki Date: Fri, 5 Jul 2024 12:55:14 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AD=90=E4=BE=9B=E3=81=AE=E3=83=81?= =?UTF-8?q?=E3=82=A7=E3=83=83=E3=82=AF=E3=83=9C=E3=83=83=E3=82=AF=E3=82=B9?= =?UTF-8?q?=E5=B7=A6=E5=AF=84=E3=81=9B=E3=81=97=E3=81=9F=E3=82=88=E3=82=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feature/parent/ChildListAdapter2.java | 43 +++++++++++++ .../feature/parent/ParentAdapter.java | 15 +++++ .../feature/parent/ParentMainFragment.java | 35 ++++++++++- .../res/layout/act_child_select_dialog.xml | 18 ++++++ .../main/res/layout/list_act_child_name.xml | 31 ++++++++++ .../list_item_parent_task_list_item.xml | 62 ++++++++++++------- .../feature/setting/SettingMainFragment.java | 3 + 7 files changed, 184 insertions(+), 23 deletions(-) create mode 100644 feature/parent/src/main/java/one/nem/kidshift/feature/parent/ChildListAdapter2.java create mode 100644 feature/parent/src/main/res/layout/act_child_select_dialog.xml create mode 100644 feature/parent/src/main/res/layout/list_act_child_name.xml diff --git a/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ChildListAdapter2.java b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ChildListAdapter2.java new file mode 100644 index 0000000..cc21295 --- /dev/null +++ b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ChildListAdapter2.java @@ -0,0 +1,43 @@ +package one.nem.kidshift.feature.parent; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import java.util.List; + +import one.nem.kidshift.model.ChildModel; + +public class ChildListAdapter2 extends RecyclerView.Adapter { + + private final List childDataList; + + ChildListAdapter2(List childDataList){this.childDataList = childDataList;} + + static class MainViewHolder extends RecyclerView.ViewHolder{ + TextView actchildname; + + MainViewHolder(@NonNull View itemView){ + super(itemView); + actchildname = itemView.findViewById(R.id.actchildname); + } + } + + @NonNull + @Override + public MainViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType){ + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_act_child_name,parent,false); + return new MainViewHolder(view); + } + + public void onBindViewHolder(@NonNull MainViewHolder holder,int position){ + ChildModel childData = this.childDataList.get(position); + holder.actchildname.setText(childData.getName()); + } + + public int getItemCount(){ return childDataList.size();} +} diff --git a/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java index 94c2d4b..7c7dbd3 100644 --- a/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java +++ b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java @@ -3,6 +3,7 @@ package one.nem.kidshift.feature.parent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; import android.widget.TextView; import androidx.annotation.NonNull; @@ -15,8 +16,14 @@ import one.nem.kidshift.model.tasks.TaskItemModel; public class ParentAdapter extends RecyclerView.Adapter { + public interface CompleteButtonClickedCallback { + void onClicked(String taskId); + } + private List taskDataList; + private CompleteButtonClickedCallback callback; + // ParentAdapter(List taskDataList) { this.taskDataList = taskDataList; } ParentAdapter(){ @@ -26,15 +33,20 @@ public class ParentAdapter extends RecyclerView.Adapter { + this.callback.onClicked(taskData.getId()); + }); } @Override diff --git a/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentMainFragment.java b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentMainFragment.java index 64fac85..3b6faa7 100644 --- a/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentMainFragment.java +++ b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentMainFragment.java @@ -13,6 +13,8 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; +import android.widget.Toast; import com.google.android.material.dialog.MaterialAlertDialogBuilder; @@ -42,6 +44,8 @@ public class ParentMainFragment extends Fragment { ParentAdapter parentAdapter; SwipeRefreshLayout swipeRefreshLayout; + + @SuppressLint("DatasetChange") private void updateTaskInfo(){ swipeRefreshLayout.setRefreshing(true); @@ -74,6 +78,7 @@ public class ParentMainFragment extends Fragment { // Required empty public constructor } + @SuppressLint("MissingInflatedId") @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -92,6 +97,34 @@ public class ParentMainFragment extends Fragment { recyclerView.setLayoutManager(layoutManager); parentAdapter = new ParentAdapter(); + parentAdapter.setCallback(new ParentAdapter.CompleteButtonClickedCallback() { + @Override + public void onClicked(String taskId) { + Toast.makeText(requireContext(), "TaskID: " + taskId, Toast.LENGTH_LONG).show(); + //お手伝い完了処理 + LayoutInflater inflater2 = requireActivity().getLayoutInflater(); + View view2 = inflater2.inflate(R.layout.act_child_select_dialog,null); + + //子供一覧表示 + RecyclerView recyclerView2 = view2.findViewById(R.id.act_recycle_view); + + recyclerView2.setHasFixedSize(true); + + RecyclerView.LayoutManager layoutManager2 = new LinearLayoutManager(getContext()); + recyclerView2.setLayoutManager(layoutManager2); + + List child1 = childData.getChildList().join(); + + RecyclerView.Adapter mainAdapter2 = new ChildListAdapter2(child1); + recyclerView2.setAdapter(mainAdapter2); + + MaterialAlertDialogBuilder builder1 = new MaterialAlertDialogBuilder(getContext()); + builder1.setTitle("お手伝いをしたお子様の名前を選択してください") + .setView(view2) + .setNeutralButton("閉じる",null); + builder1.create().show(); + } + }); recyclerView.setAdapter(parentAdapter); updateTaskInfo(); @@ -106,8 +139,6 @@ public class ParentMainFragment extends Fragment { - - //お手伝い追加ダイアログ LayoutInflater inflater1 = requireActivity().getLayoutInflater(); View view1 = inflater1.inflate(R.layout.add_task_list_dialog,null); diff --git a/feature/parent/src/main/res/layout/act_child_select_dialog.xml b/feature/parent/src/main/res/layout/act_child_select_dialog.xml new file mode 100644 index 0000000..4cd5b30 --- /dev/null +++ b/feature/parent/src/main/res/layout/act_child_select_dialog.xml @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/feature/parent/src/main/res/layout/list_act_child_name.xml b/feature/parent/src/main/res/layout/list_act_child_name.xml new file mode 100644 index 0000000..2e76cf3 --- /dev/null +++ b/feature/parent/src/main/res/layout/list_act_child_name.xml @@ -0,0 +1,31 @@ + + + + + +