diff --git a/app/src/main/java/com/example/oplogy/SubmissionActivity.java b/app/src/main/java/com/example/oplogy/SubmissionActivity.java index 374b0b2..089c81a 100644 --- a/app/src/main/java/com/example/oplogy/SubmissionActivity.java +++ b/app/src/main/java/com/example/oplogy/SubmissionActivity.java @@ -1,58 +1,58 @@ -//package com.example.oplogy; -// -//import androidx.appcompat.app.AppCompatActivity; -//import androidx.recyclerview.widget.LinearLayoutManager; -//import androidx.recyclerview.widget.RecyclerView; -// -//import android.os.Bundle; -//import android.widget.ImageView; -// -//import com.example.oplogy.databinding.SubmissionBinding; -// -//import java.util.ArrayList; -//import java.util.List; -// -//public class SubmissionActivity extends AppCompatActivity { -// private RecyclerView recyclerView; -// private SubmissionAdapter submissionAdapter; -// private List students = new ArrayList<>(); -// ArrayList studentNumbers = new ArrayList<>(); -// private int totalStudent = 10; -// -// @Override -// protected void onCreate(Bundle savedInstanceState) { -// super.onCreate(savedInstanceState); -// setContentView(R.layout.submission); -// -// // 戻るボタンの処理 -// ImageView backButton = findViewById(R.id.BackMain_fromSubmission); -// backButton.setOnClickListener(v -> { -// finish(); -// }); -// -// -// // インテントから提出状況の生徒の数を取得 -// studentNumbers=getIntent().getIntegerArrayListExtra("submissionStudents"); -// -// recyclerView = findViewById(R.id.recyclerView); -// recyclerView.setLayoutManager(new LinearLayoutManager(this)); -// submissionAdapter = new SubmissionAdapter(students); -// recyclerView.setAdapter(submissionAdapter); -// -// // 生徒のリストを取得 -// fetchStudents(); -// } -// private void fetchStudents() { -// // インテントから生徒のリストを取得 -// ArrayList submissionStudents = getIntent().getParcelableArrayListExtra("submissionStudents"); -// -// // 生徒のリストを反復処理し、それをRecyclerViewに表示 -// for (SubmissionStudent student : submissionStudents) { -// students.add(student); -// } -// -// // データが変更されたことをアダプターに通知 -// submissionAdapter.notifyDataSetChanged(); -// } -//} -// +package com.example.oplogy; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import android.os.Bundle; +import android.widget.ImageView; + +import com.example.oplogy.databinding.SubmissionBinding; + +import java.util.ArrayList; +import java.util.List; + +public class SubmissionActivity extends AppCompatActivity { + private RecyclerView recyclerView; + private SubmissionAdapter submissionAdapter; + private List students = new ArrayList<>(); + ArrayList studentNumbers = new ArrayList<>(); + private int totalStudent = 10; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.submission); + + // 戻るボタンの処理 + ImageView backButton = findViewById(R.id.BackMain_fromSubmission); + backButton.setOnClickListener(v -> { + finish(); + }); + + + // インテントから提出状況の生徒の数を取得 + studentNumbers=getIntent().getIntegerArrayListExtra("submissionStudents"); + + recyclerView = findViewById(R.id.recyclerView); + recyclerView.setLayoutManager(new LinearLayoutManager(this)); + submissionAdapter = new SubmissionAdapter(students); + recyclerView.setAdapter(submissionAdapter); + + // 生徒のリストを取得 + fetchStudents(); + } + private void fetchStudents() { + // インテントから生徒のリストを取得 + ArrayList submissionStudents = getIntent().getParcelableArrayListExtra("submissionStudents"); + + // 生徒のリストを反復処理し、それをRecyclerViewに表示 + for (SubmissionStudent student : submissionStudents) { + students.add(student); + } + + // データが変更されたことをアダプターに通知 + submissionAdapter.notifyDataSetChanged(); + } +} + diff --git a/app/src/main/java/com/example/oplogy/SubmissionAdapter.java b/app/src/main/java/com/example/oplogy/SubmissionAdapter.java index be5c0c4..dd121b6 100644 --- a/app/src/main/java/com/example/oplogy/SubmissionAdapter.java +++ b/app/src/main/java/com/example/oplogy/SubmissionAdapter.java @@ -1,62 +1,62 @@ -//package com.example.oplogy; -// -//import android.graphics.Color; -//import android.view.LayoutInflater; -//import android.view.View; -//import android.view.ViewGroup; -//import android.widget.TextView; -//import androidx.recyclerview.widget.RecyclerView; -//import java.util.List; -// -//public class SubmissionAdapter extends RecyclerView.Adapter { -// -// private List students; -// -// public static class StudentViewHolder extends RecyclerView.ViewHolder { -// public TextView studentNumberTextView; -// public TextView statusTextView; -// -// public StudentViewHolder(View view) { -// super(view); -// // レイアウトファイルのTextViewを取得 -// studentNumberTextView = view.findViewById(R.id.studentNumberTextView); -// statusTextView = view.findViewById(R.id.statusTextView); -// } -// } -// -// public SubmissionAdapter(List students) { -// this.students = students; -// } -// -// @Override -// public StudentViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { -// View view = LayoutInflater.from(parent.getContext()) -// .inflate(R.layout.row_submission, parent, false); -// return new StudentViewHolder(view); -// } -// -// @Override -// public void onBindViewHolder(StudentViewHolder holder, int position) { -// SubmissionStudent student = students.get(position); -// holder.studentNumberTextView.setText(String.valueOf(student.getStudentNumber())); -// // 提出済みかどうかで表示を変える -// if (student.isSubmitted()) { -// holder.statusTextView.setText("提出済み"); -// holder.statusTextView.setBackgroundColor(Color.BLACK); -// holder.statusTextView.setTextColor(Color.WHITE); -// holder.studentNumberTextView.setBackgroundColor(Color.BLACK); -// holder.studentNumberTextView.setTextColor(Color.WHITE); -// } else { -// holder.statusTextView.setText("未提出"); -// holder.statusTextView.setBackgroundColor(Color.RED); -// holder.statusTextView.setTextColor(Color.WHITE); -// holder.studentNumberTextView.setBackgroundColor(Color.RED); -// holder.studentNumberTextView.setTextColor(Color.WHITE); -// } -// } -// -// @Override -// public int getItemCount() { -// return students.size(); -// } -//} +package com.example.oplogy; + +import android.graphics.Color; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; +import androidx.recyclerview.widget.RecyclerView; +import java.util.List; + +public class SubmissionAdapter extends RecyclerView.Adapter { + + private List students; + + public static class StudentViewHolder extends RecyclerView.ViewHolder { + public TextView studentNumberTextView; + public TextView statusTextView; + + public StudentViewHolder(View view) { + super(view); + // レイアウトファイルのTextViewを取得 + studentNumberTextView = view.findViewById(R.id.studentNumberTextView); + statusTextView = view.findViewById(R.id.statusTextView); + } + } + + public SubmissionAdapter(List students) { + this.students = students; + } + + @Override + public StudentViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.row_submission, parent, false); + return new StudentViewHolder(view); + } + + @Override + public void onBindViewHolder(StudentViewHolder holder, int position) { + SubmissionStudent student = students.get(position); + holder.studentNumberTextView.setText(String.valueOf(student.getStudentNumber())); + // 提出済みかどうかで表示を変える + if (student.isSubmitted()) { + holder.statusTextView.setText("提出済み"); + holder.statusTextView.setBackgroundColor(Color.BLACK); + holder.statusTextView.setTextColor(Color.WHITE); + holder.studentNumberTextView.setBackgroundColor(Color.BLACK); + holder.studentNumberTextView.setTextColor(Color.WHITE); + } else { + holder.statusTextView.setText("未提出"); + holder.statusTextView.setBackgroundColor(Color.RED); + holder.statusTextView.setTextColor(Color.WHITE); + holder.studentNumberTextView.setBackgroundColor(Color.RED); + holder.studentNumberTextView.setTextColor(Color.WHITE); + } + } + + @Override + public int getItemCount() { + return students.size(); + } +} diff --git a/app/src/main/java/com/example/oplogy/SubmissionStudent.java b/app/src/main/java/com/example/oplogy/SubmissionStudent.java index 21041f7..8ca3f6c 100644 --- a/app/src/main/java/com/example/oplogy/SubmissionStudent.java +++ b/app/src/main/java/com/example/oplogy/SubmissionStudent.java @@ -1,49 +1,49 @@ -//package com.example.oplogy; -//import android.os.Parcel; -//import android.os.Parcelable; -// -//public class SubmissionStudent implements Parcelable { -// private int studentNumber; -// private boolean submitted; -// -// public SubmissionStudent(int studentNumber, boolean submitted) { -// this.studentNumber = studentNumber; -// this.submitted = submitted; -// } -// -// protected SubmissionStudent(Parcel in) { -// studentNumber = in.readInt(); -// submitted = in.readByte() != 0; -// } -// -// public static final Creator CREATOR = new Creator() { -// @Override -// public SubmissionStudent createFromParcel(Parcel in) { -// return new SubmissionStudent(in); -// } -// -// @Override -// public SubmissionStudent[] newArray(int size) { -// return new SubmissionStudent[size]; -// } -// }; -// -// public int getStudentNumber() { -// return studentNumber; -// } -// -// public boolean isSubmitted() { -// return submitted; -// } -// -// @Override -// public int describeContents() { -// return 0; -// } -// -// @Override -// public void writeToParcel(Parcel parcel, int i) { -// parcel.writeInt(studentNumber); -// parcel.writeByte((byte) (submitted ? 1 : 0)); -// } -//} \ No newline at end of file +package com.example.oplogy; +import android.os.Parcel; +import android.os.Parcelable; + +public class SubmissionStudent implements Parcelable { + private int studentNumber; + private boolean submitted; + + public SubmissionStudent(int studentNumber, boolean submitted) { + this.studentNumber = studentNumber; + this.submitted = submitted; + } + + protected SubmissionStudent(Parcel in) { + studentNumber = in.readInt(); + submitted = in.readByte() != 0; + } + + public static final Creator CREATOR = new Creator() { + @Override + public SubmissionStudent createFromParcel(Parcel in) { + return new SubmissionStudent(in); + } + + @Override + public SubmissionStudent[] newArray(int size) { + return new SubmissionStudent[size]; + } + }; + + public int getStudentNumber() { + return studentNumber; + } + + public boolean isSubmitted() { + return submitted; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel parcel, int i) { + parcel.writeInt(studentNumber); + parcel.writeByte((byte) (submitted ? 1 : 0)); + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/row_submission.xml b/app/src/main/res/layout/row_submission.xml new file mode 100644 index 0000000..9298d4f --- /dev/null +++ b/app/src/main/res/layout/row_submission.xml @@ -0,0 +1,31 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/submission.xml b/app/src/main/res/layout/submission.xml index d9cbc15..b65b6f5 100644 --- a/app/src/main/res/layout/submission.xml +++ b/app/src/main/res/layout/submission.xml @@ -1,9 +1,43 @@ - - \ No newline at end of file + + + + + + + + + +