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..fe52065 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("#D5D5D5");
+ } else if (selectedId == R.id.radioButtonSprout) {
+ target.returnValue("#BEECAE");
+ } else if (selectedId == R.id.radioButtonAqua) {
+ target.returnValue("#BEF7FF");
+ } 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("#FFCBFA");
+ }
- 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..2b72cfe 100644
--- a/app/src/main/java/com/example/citrusclient/views/CreateBookFragment.java
+++ b/app/src/main/java/com/example/citrusclient/views/CreateBookFragment.java
@@ -3,6 +3,7 @@
import android.content.Intent;
import android.content.DialogInterface;
//import android.support.v4.app.DialogFragment;
+import android.content.res.ColorStateList;
import android.os.Bundle;
import androidx.annotation.NonNull;
@@ -26,6 +27,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 +92,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 +110,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); //本の名前が無かったら入力してと表示する
@@ -130,18 +136,13 @@
}
} else {
System.out.println(bookname);
-// String textbook = textbookname.getText().toString().trim();
- //本を保存するコードを書く?
-
+ // String textbook = textbookname.getText().toString().trim();
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を呼び出して本を作る
//画面が本棚に戻る
-
-
-
((MainActivity) getActivity()).showFragment(new MyBookshelfFragment()); //本棚に戻る
}
}
@@ -159,9 +160,25 @@
//色選択をするとダイアログが出てくる
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());
+ //CreatebookFragmentにBookColordialogFragmentの情報を渡した状態のコンストラクタをつくる
+ BookColorDialogFragment bookColorDialogFragment = new BookColorDialogFragment(CreateBookFragment.this);
+ bookColorDialogFragment.show(getActivity().getSupportFragmentManager(), "simple");
+
}
});
}
+
+ public void returnValue(String colorIn){
+ color = colorIn;//createBookの変数colorに入る
+
+ View view = getView(); // FragmentのView
+
+ if (view != null) {
+ Button colorButton = view.findViewById(R.id.color_button);
+ int parsedColor = Color.parseColor(color);
+ colorButton.setBackgroundTintList(ColorStateList.valueOf(parsedColor));
+ }
+ }
}
\ 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..7f7c250 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/app/src/main/res/layout/fragment_create_book.xml b/app/src/main/res/layout/fragment_create_book.xml
index b465a97..d1d06e1 100644
--- a/app/src/main/res/layout/fragment_create_book.xml
+++ b/app/src/main/res/layout/fragment_create_book.xml
@@ -4,11 +4,13 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:backgroundTint="#00FFFFFF"
tools:context=".views.CreateBookFragment">
+ android:layout_height="match_parent"
+ android:background="#FFFFFF">