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 new file mode 100644 index 0000000..3124fed --- /dev/null +++ b/feature/parent/src/main/java/one/nem/kidshift/feature/parent/ParentAdapter.java @@ -0,0 +1,49 @@ +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.tasks.TaskItemModel; + +public class ParentAdapter extends RecyclerView.Adapter { + + private List taskDataList; + + ParentAdapter(List taskDataList) { this.taskDataList = taskDataList; } + + static class MainViewHolder extends RecyclerView.ViewHolder{ + TextView taskTitle; + TextView taskContents; + + MainViewHolder(@NonNull View itemView){ + super(itemView); + taskTitle = itemView.findViewById(R.id.task_title_text_view); + taskContents = itemView.findViewById(R.id.task_contents_text_view); + } + } + + @NonNull + @Override + public MainViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType){ + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_parent_task_list_item, parent,false); + return new MainViewHolder(view); + } + + public void onBindViewHolder(@NonNull MainViewHolder holder,int position){ + TaskItemModel taskData = this.taskDataList.get(position); + holder.taskTitle.setText(taskData.getDisplayName()); + holder.taskContents.setText(Long.toString(taskData.getReward())); + } + + @Override + public int getItemCount(){ + return taskDataList.size(); + } +} 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 4f318aa..370fa88 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 @@ -1,20 +1,45 @@ package one.nem.kidshift.feature.parent; +import android.content.Context; import android.os.Bundle; import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import java.util.List; + +import javax.inject.Inject; + +import dagger.hilt.android.AndroidEntryPoint; +import one.nem.kidshift.data.TaskData; +import one.nem.kidshift.model.tasks.TaskItemModel; +import one.nem.kidshift.utils.KSLogger; + + + /** * A simple {@link Fragment} subclass. * Use the {@link ParentMainFragment#newInstance} factory method to * create an instance of this fragment. */ + +@AndroidEntryPoint public class ParentMainFragment extends Fragment { + + + + @Inject + KSLogger ksLogger; + + @Inject + TaskData taskData; + // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER private static final String ARG_PARAM1 = "param1"; @@ -59,6 +84,34 @@ public class ParentMainFragment extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_parent_main, container, false); + View view = inflater.inflate(R.layout.fragment_parent_main, container, false); + + RecyclerView recyclerView = view.findViewById(R.id.main_recycle_view); + + recyclerView.setHasFixedSize(true); + + RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext()); + recyclerView.setLayoutManager(layoutManager); + + List task = taskData.getTasks(); + + RecyclerView.Adapter mainAdapter = new ParentAdapter(task); + recyclerView.setAdapter(mainAdapter); + + + + return view; + } + + @Override + public void onViewCreated(View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + ksLogger.addTag("ParentFragment"); + + List task = taskData.getTasks(); + + ksLogger.debug("取得したデータ: " + task); + } } \ No newline at end of file diff --git a/feature/parent/src/main/res/layout/fragment_parent_main.xml b/feature/parent/src/main/res/layout/fragment_parent_main.xml index e8f009b..8bd3b16 100644 --- a/feature/parent/src/main/res/layout/fragment_parent_main.xml +++ b/feature/parent/src/main/res/layout/fragment_parent_main.xml @@ -1,20 +1,16 @@ - - - - \ No newline at end of file + + + \ No newline at end of file diff --git a/feature/parent/src/main/res/layout/list_item_parent_task_list_item.xml b/feature/parent/src/main/res/layout/list_item_parent_task_list_item.xml new file mode 100644 index 0000000..b31f5e0 --- /dev/null +++ b/feature/parent/src/main/res/layout/list_item_parent_task_list_item.xml @@ -0,0 +1,31 @@ + + + + + + + + \ No newline at end of file