diff --git a/app/src/main/java/com/example/citrusclient/views/BookColorDialogFragment.java b/app/src/main/java/com/example/citrusclient/views/BookColorDialogFragment.java
new file mode 100644
index 0000000..e04a4c8
--- /dev/null
+++ b/app/src/main/java/com/example/citrusclient/views/BookColorDialogFragment.java
@@ -0,0 +1,141 @@
+package com.example.citrusclient.views;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
+import android.widget.Toast;
+
+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;
+
+ // 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";
+
+ // TODO: Rename and change types of parameters
+ private String mParam1;
+ private String mParam2;
+
+ public BookColorDialogFragment() {
+ // Required empty public constructor
+ }
+
+ /**
+ * 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;
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ if (getArguments() != null) {
+ mParam1 = getArguments().getString(ARG_PARAM1);
+ mParam2 = getArguments().getString(ARG_PARAM2);
+ }
+ }
+
+ @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);
+ }
+
+ 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() {
+ @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);
+ }
+ }
+ });
+
+ view.findViewById(R.id.buttonOk).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ ((MainActivity) getActivity()).showFragment(new CreateBookFragment());
+ }
+ });
+
+
+ }
+
+ 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();
+ }
+}
\ 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 666efc0..e8c6ade 100644
--- a/app/src/main/java/com/example/citrusclient/views/CreateBookFragment.java
+++ b/app/src/main/java/com/example/citrusclient/views/CreateBookFragment.java
@@ -1,6 +1,10 @@
package com.example.citrusclient.views;
+import android.app.Dialog;
+import android.app.AlertDialog;
import android.content.Intent;
+import android.content.DialogInterface;
+//import android.support.v4.app.DialogFragment;
import android.os.Bundle;
import androidx.annotation.NonNull;
@@ -90,7 +94,7 @@
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); //親クラスである Fragment の onViewCreated() メソッドを呼び出す
- Citrus citrus = (Citrus)(getActivity().getApplication());
+ Citrus citrus = (Citrus) (getActivity().getApplication());
String token = citrus.getToken();
String accountId = citrus.getAccountId();
//ここから書く
@@ -98,12 +102,15 @@
//((MainActivity) getContext()).setCreateBookFragment(this);//フラグメントとアクティビティ間での情報のやり取りがあるとき
//((MainActivity) getActivity()).showFragment(new MyBookshelfFragment());
+ //保存ボタンの処理
view.findViewById(R.id.save_button).setOnClickListener(new View.OnClickListener() {
@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); //本の名前が無かったら入力してと表示する
+
+
if (bookeditable == null) { //本の名前がなかったら
System.out.println("本の名前を入力してください");
@@ -128,21 +135,17 @@
// String textbook = textbookname.getText().toString().trim();
//本を保存するコードを書く?
-
-
-
- booksViewModel.createBook("bird",bookname,"#00FF00",true,"xyz"); //BooksViewModelを呼び出して本を作る
+ booksViewModel.createBook("bird", bookname, "#00FF00", true, "xyz"); //BooksViewModelを呼び出して本を作る
//画面が本棚に戻る
-
-
((MainActivity) getActivity()).showFragment(new MyBookshelfFragment()); //本棚に戻る
}
}
}
});
+ //キャンセルボタンの処理
view.findViewById(R.id.cancel_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -150,5 +153,12 @@
}
});
+ //色選択をするとダイアログが出てくる
+ view.findViewById(R.id.color_button).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ ((MainActivity) getActivity()).showFragment(new BookColorDialogFragment());
+ }
+ });
}
}
\ 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
new file mode 100644
index 0000000..2f2164d
--- /dev/null
+++ b/app/src/main/res/layout/fragment_book_color_dialog.xml
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ 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 c40085c..b465a97 100644
--- a/app/src/main/res/layout/fragment_create_book.xml
+++ b/app/src/main/res/layout/fragment_create_book.xml
@@ -43,14 +43,14 @@