murakumo_修正パッチその2 #18

Merged
murakumo merged 3 commits from murakumo_修正パッチその2 into master 2024-06-24 09:50:24 +00:00
5 changed files with 236 additions and 171 deletions
Showing only changes of commit bafc7df037 - Show all commits

View File

@ -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<SubmissionStudent> students = new ArrayList<>();
// ArrayList<Integer> 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<SubmissionStudent> 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<SubmissionStudent> students = new ArrayList<>();
ArrayList<Integer> 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<SubmissionStudent> submissionStudents = getIntent().getParcelableArrayListExtra("submissionStudents");
// 生徒のリストを反復処理しそれをRecyclerViewに表示
for (SubmissionStudent student : submissionStudents) {
students.add(student);
}
// データが変更されたことをアダプターに通知
submissionAdapter.notifyDataSetChanged();
}
}

View File

@ -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<SubmissionAdapter.StudentViewHolder> {
//
// private List<SubmissionStudent> 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<SubmissionStudent> 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<SubmissionAdapter.StudentViewHolder> {
private List<SubmissionStudent> 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<SubmissionStudent> 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();
}
}

View File

@ -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<SubmissionStudent> CREATOR = new Creator<SubmissionStudent>() {
// @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));
// }
//}
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<SubmissionStudent> CREATOR = new Creator<SubmissionStudent>() {
@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));
}
}

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/studentNumberTextView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@android:color/white"
android:gravity="center_vertical"
android:text="番号"
android:textColor="@android:color/black"
android:textSize="36sp"
android:textStyle="bold" />
<TextView
android:id="@+id/statusTextView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="提出状況"
android:textSize="36sp"
android:gravity="center_vertical"
android:paddingStart="8dp"
android:background="@android:color/white"
android:textColor="@android:color/black" />
</LinearLayout>

View File

@ -1,9 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="10"
tools:context=".SubmissionActivity">
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="10">
<ImageView
android:id="@+id/BackMain_fromSubmission"
android:layout_width="36dp"
android:layout_height="74dp"
android:layout_weight="2"
android:src="@drawable/back_button" />
<TextView
android:id="@+id/imageSubmission"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="4"
android:hint="提出状況"
android:textSize="40dp"
android:padding="8dp"
/>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>