diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml
index b268ef3..d2af605 100644
--- a/.idea/deploymentTargetSelector.xml
+++ b/.idea/deploymentTargetSelector.xml
@@ -4,6 +4,14 @@
+
+
+
+
+
+
+
+
diff --git a/app/build.gradle b/app/build.gradle
index 1836d13..005e609 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -26,6 +26,9 @@
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
+ buildFeatures {
+ viewBinding true
+ }
}
dependencies {
@@ -34,6 +37,8 @@
implementation libs.material
implementation libs.activity
implementation libs.constraintlayout
+ implementation libs.legacy.support.v4
+ implementation libs.recyclerview
testImplementation libs.junit
androidTestImplementation libs.ext.junit
androidTestImplementation libs.espresso.core
diff --git a/app/src/main/java/com/example/citrusclient/views/BookColorDialogFragment.java b/app/src/main/java/com/example/citrusclient/views/BookColorDialogFragment.java
index e04a4c8..77c9cda 100644
--- a/app/src/main/java/com/example/citrusclient/views/BookColorDialogFragment.java
+++ b/app/src/main/java/com/example/citrusclient/views/BookColorDialogFragment.java
@@ -3,9 +3,12 @@
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.Fragment;
import android.util.Log;
@@ -16,126 +19,100 @@
import android.widget.RadioGroup;
import android.widget.Toast;
+import com.example.citrusclient.Citrus;
import com.example.citrusclient.R;
-/**
- * A simple {@link Fragment} subclass.
- * Use the {@link BookColorDialogFragment#newInstance} factory method to
- * create an instance of this fragment.
- */
-public class BookColorDialogFragment extends Fragment {
- private RadioGroup radioGroupColors;
+public class BookColorDialogFragment extends DialogFragment {
+ private Citrus citrus;
- // TODO: Rename parameter arguments, choose names that match
- // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
- private static final String ARG_PARAM1 = "param1";
- private static final String ARG_PARAM2 = "param2";
+ CreateBookFragment target;
- // TODO: Rename and change types of parameters
- private String mParam1;
- private String mParam2;
-
- public BookColorDialogFragment() {
- // Required empty public constructor
+ BookColorDialogFragment(CreateBookFragment fr){
+ target=fr;
}
-
- /**
- * Use this factory method to create a new instance of
- * this fragment using the provided parameters.
- *
- * @param param1 Parameter 1.
- * @param param2 Parameter 2.
- * @return A new instance of fragment BookColorDialogFragment.
- */
- // TODO: Rename and change types and number of parameters
- public static BookColorDialogFragment newInstance(String param1, String param2) {
- BookColorDialogFragment fragment = new BookColorDialogFragment();
- Bundle args = new Bundle();
- args.putString(ARG_PARAM1, param1);
- args.putString(ARG_PARAM2, param2);
- fragment.setArguments(args);
- return fragment;
- }
-
+ @NonNull
@Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- if (getArguments() != null) {
- mParam1 = getArguments().getString(ARG_PARAM1);
- mParam2 = getArguments().getString(ARG_PARAM2);
- }
- }
+ public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+ // ダイアログを生成
+ Dialog dialog = new Dialog(requireContext());
+ dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+ dialog.setContentView(R.layout.fragment_book_color_dialog);
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- // Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_book_color_dialog, container, false);
- }
+ RadioGroup rg = dialog.findViewById(R.id.radioGroupColors);
- int selected = 0;
-// @Override
-
- @Override
- public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState); //親クラスである Fragment の onViewCreated() メソッドを呼び出す
- view.findViewById(R.id.buttonCancel).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- ((MainActivity) getActivity()).showFragment(new CreateBookFragment());
- }
- });
-
- radioGroupColors = view.findViewById(R.id.radioGroupColors);
- radioGroupColors.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
+ // ラジオグループのチェック状態変更リスナーを設定
+ rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
- // ラジオボタンが選択された時の処理
- RadioButton checkedRadioButton = group.findViewById(checkedId);
- if (checkedRadioButton != null && checkedRadioButton.isChecked()) {
- String selectedColor = checkedRadioButton.getText().toString();
- radioGroupColors.findViewById(R.id.radioButtonSprout).setOnClickListener(new View.OnClickListener() { //
- @Override
- public void onClick(View view) {
- ((MainActivity) getActivity()).showFragment(new CreateBookFragment());
- }
- });
- // 選択された色に応じた処理をここに記述する
- // 例えば、選択された色をログに出力する
- Log.d("ColorSelection", "Selected color: " + selectedColor);
- }
- }
- });
+ // チェックされたラジオボタンのIDを取得
+ RadioButton radioButton = group.findViewById(checkedId);
+ if (radioButton != null) {
+ int selectedId = radioButton.getId();
+ // ここで選択されたラジオボタンのID(selectedId)を使用して処理を行う
+ if (selectedId == R.id.radioButtonShadow) {
+ target.returnValue("#A5A5A5");
+ } else if (selectedId == R.id.radioButtonSprout) {
+ target.returnValue("#A2FA83");
+ } else if (selectedId == R.id.radioButtonAqua) {
+ target.returnValue("#A3F4FF");
+ } else if (selectedId == R.id.radioButtonLavender) {
+ target.returnValue("#B994FF");
+ } else if (selectedId == R.id.radioButtonJasmine) {
+ target.returnValue("#FFFFFF");
+ } else if (selectedId == R.id.radioButtonCitrus) {
+ target.returnValue("#F6C755");
+ } else if (selectedId == R.id.radioButtonSakura) {
+ target.returnValue("#F6C755");
+ }
- view.findViewById(R.id.buttonOk).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- ((MainActivity) getActivity()).showFragment(new CreateBookFragment());
+ }
+ dismiss();
}
});
+ return dialog;
+// RadioGroup rg = (RadioGroup) view.findViewById(R.id.radioGroupColors);
+//
+// // ラジオグループのチェック状態変更イベントを登録
+// rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
+//
+// // チェック状態変更時に呼び出されるメソッド
+// public void onCheckedChanged(RadioGroup group, int checkedId) {
+// // チェック状態時の処理を記述
+// // チェックされたラジオボタンオブジェクトを取得
+// RadioButton radioButton = (RadioButton) view.findViewById(checkedId);
+// }
+// });
+//
+// Dialog dialog = new Dialog(requireContext());
+// dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+//
+// dialog.setContentView(R.layout.fragment_book_color_dialog);
+//
+//
+// return dialog;
}
- public Dialog onCreatedDialog(Bundle savedInstanceState){
- final String[] items = {"citrus","sakura","gray"};
- AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- return builder.setTitle("色の種類")
- .setSingleChoiceItems(items, selected, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int which) {
- selected = which;
- }
- }
- )
- .setPositiveButton("OK", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- Toast.makeText(getActivity(),String.format("[%s]が選択されました",items[selected]),
- Toast.LENGTH_SHORT).show();
- }
- }
- )
- .create();
- }
+
+// final String[] items = {"citrus","sakura","gray"};
+// AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+// return builder.setTitle("色の種類")
+// .setSingleChoiceItems(items, selected, new DialogInterface.OnClickListener() {
+// @Override
+// public void onClick(DialogInterface dialogInterface, int which) {
+// selected = which;
+// }
+// }
+// )
+// .setPositiveButton("OK", new DialogInterface.OnClickListener() {
+// @Override
+// public void onClick(DialogInterface dialogInterface, int i) {
+// Toast.makeText(getActivity(),String.format("[%s]が選択されました",items[selected]),
+// Toast.LENGTH_SHORT).show();
+// }
+// }
+// )
+// .create();
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/citrusclient/views/CreateBookFragment.java b/app/src/main/java/com/example/citrusclient/views/CreateBookFragment.java
index 3ed197e..6f7f10e 100644
--- a/app/src/main/java/com/example/citrusclient/views/CreateBookFragment.java
+++ b/app/src/main/java/com/example/citrusclient/views/CreateBookFragment.java
@@ -26,6 +26,8 @@
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
import android.widget.TextView;
import org.w3c.dom.Text;
@@ -89,6 +91,8 @@
return inflater.inflate(R.layout.fragment_create_book, container, false);
}
+
+ private String color;
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); //親クラスである Fragment の onViewCreated() メソッドを呼び出す
@@ -105,6 +109,7 @@
@Override
public void onClick(View view2) {
EditText editname = (EditText) view.findViewById(R.id.book_name); //本の名前を入力する
+
Editable bookeditable = editname.getText();
TextView textbookname = (TextView) view.findViewById(R.id.set_book_name); //本の名前が無かったら入力してと表示する
@@ -136,7 +141,9 @@
String accountId = ((Citrus) getActivity().getApplication()).getAccountId();
String token = ((Citrus) getActivity().getApplication()).getToken();
- booksViewModel.createBook(accountId, bookname, "#00FF00", true, token); //BooksViewModelを呼び出して本を作る
+
+
+ booksViewModel.createBook(accountId, bookname, color, true, token); //BooksViewModelを呼び出して本を作る
//画面が本棚に戻る
@@ -159,9 +166,17 @@
//色選択をするとダイアログが出てくる
view.findViewById(R.id.color_button).setOnClickListener(new View.OnClickListener() {
@Override
- public void onClick(View view) {
- ((MainActivity) getActivity()).showFragment(new BookColorDialogFragment());
+ public void onClick(View view2) {
+// ((MainActivity) getActivity()).showFragment(new BookColorDialogFragment());
+ BookColorDialogFragment bookColorDialogFragment = new BookColorDialogFragment(CreateBookFragment.this);
+ bookColorDialogFragment.show(getActivity().getSupportFragmentManager(), "simple");
+
}
});
}
+
+ public void returnValue(String colorIn){
+ color = colorIn;
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_book_color_dialog.xml b/app/src/main/res/layout/fragment_book_color_dialog.xml
index 2f2164d..89ab6ac 100644
--- a/app/src/main/res/layout/fragment_book_color_dialog.xml
+++ b/app/src/main/res/layout/fragment_book_color_dialog.xml
@@ -8,21 +8,11 @@
tools:context=".views.BookColorDialogFragment">
-
+ android:buttonTint="#FFFFFF"
+ android:text="Jasmine" />
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 6731e75..2988cd9 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -11,6 +11,8 @@
retrofit24 = "2.1.0"
activity = "1.9.0"
constraintlayout = "2.1.4"
+legacySupportV4 = "1.0.0"
+recyclerview = "1.3.0"
[libraries]
junit = { group = "junit", name = "junit", version.ref = "junit" }
@@ -24,6 +26,8 @@
retrofit24 = { group = "com.squareup.retrofit2", name = "converter-scalars", version.ref = "retrofit24" }
activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
+legacy-support-v4 = { group = "androidx.legacy", name = "legacy-support-v4", version.ref = "legacySupportV4" }
+recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "recyclerview" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }