diff --git a/Listify/app/src/main/java/com/example/listify/CreateListDialogFragment.java b/Listify/app/src/main/java/com/example/listify/CreateListDialogFragment.java
new file mode 100644
index 0000000..00ff7ee
--- /dev/null
+++ b/Listify/app/src/main/java/com/example/listify/CreateListDialogFragment.java
@@ -0,0 +1,68 @@
+package com.example.listify;
+import android.app.Dialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.EditText;
+
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+
+
+public class CreateListDialogFragment extends DialogFragment {
+
+ public interface OnNewListListener {
+ void sendNewListName(String name);
+ }
+
+ public OnNewListListener onNewListListener;
+
+ EditText etNewListName;
+
+ public CreateListDialogFragment() {}
+
+
+ @Override
+ public Dialog onCreateDialog(final Bundle savedInstanceState) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ // Get the layout inflater
+ LayoutInflater inflater = requireActivity().getLayoutInflater();
+
+ // Inflate and set the layout for the dialog
+ // Pass null as the parent view because its going in the dialog layout
+ View root = inflater.inflate(R.layout.dialog_create_list, null);
+ builder.setView(root)
+ // Add action buttons
+ .setPositiveButton("OK", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int id) {
+ onNewListListener.sendNewListName(etNewListName.getText().toString());
+ }
+ })
+ .setNegativeButton("cancel", new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ CreateListDialogFragment.this.getDialog().cancel();
+ }
+ });
+
+ etNewListName = (EditText) root.findViewById(R.id.et_new_list_name);
+
+
+ return builder.create();
+ }
+
+ // Required to extend DialogFragment
+ @Override
+ public void onAttach(@NonNull Context context) {
+ super.onAttach(context);
+ try {
+ onNewListListener = (OnNewListListener) getActivity();
+ } catch (ClassCastException e) {
+ Log.e("CreateListDialogFragment", "onAttach: ClassCastException: " + e.getMessage());
+ }
+ }
+}
diff --git a/Listify/app/src/main/java/com/example/listify/ItemDetails.java b/Listify/app/src/main/java/com/example/listify/ItemDetails.java
index 2417b93..3af413b 100644
--- a/Listify/app/src/main/java/com/example/listify/ItemDetails.java
+++ b/Listify/app/src/main/java/com/example/listify/ItemDetails.java
@@ -1,10 +1,7 @@
package com.example.listify;
import android.os.Bundle;
-
-import com.amazonaws.services.cognitoidentityprovider.model.TooManyFailedAttemptsException;
import com.bumptech.glide.Glide;
-import com.example.listify.adapter.DisplayShoppingListsAdapter;
import com.example.listify.model.Product;
import com.example.listify.model.ShoppingList;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
@@ -16,10 +13,9 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
-
import java.util.ArrayList;
-public class ItemDetails extends AppCompatActivity implements ListPickerDialogFragment.OnListPickListener {
+public class ItemDetails extends AppCompatActivity implements ListPickerDialogFragment.OnListPickListener, CreateListDialogFragment.OnNewListListener {
private Product curProduct;
private LinearLayout linAddItem;
private LinearLayout linCreateList;
@@ -79,8 +75,10 @@ public class ItemDetails extends AppCompatActivity implements ListPickerDialogFr
linCreateList.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- Toast.makeText(ItemDetails.this, "create", Toast.LENGTH_SHORT).show();
closeFABMenu();
+
+ CreateListDialogFragment createListDialogFragment = new CreateListDialogFragment();
+ createListDialogFragment.show(getSupportFragmentManager(), "Create New List");
}
});
@@ -134,6 +132,11 @@ public class ItemDetails extends AppCompatActivity implements ListPickerDialogFr
@Override
public void sendListSelection(int selectedListIndex, int quantity) {
- Toast.makeText(this, String.format("%d of Item added to %s", quantity, shoppingLists.get(selectedListIndex).getName()), Toast.LENGTH_SHORT).show();
+ Toast.makeText(this, String.format("%d of Item added to %s", quantity, shoppingLists.get(selectedListIndex).getName()), Toast.LENGTH_LONG).show();
+ }
+
+ @Override
+ public void sendNewListName(String name) {
+ Toast.makeText(this, String.format("%s created", name), Toast.LENGTH_LONG).show();
}
}
\ No newline at end of file
diff --git a/Listify/app/src/main/res/layout/dialog_add_to_list.xml b/Listify/app/src/main/res/layout/dialog_add_to_list.xml
index 8c93694..8325780 100644
--- a/Listify/app/src/main/res/layout/dialog_add_to_list.xml
+++ b/Listify/app/src/main/res/layout/dialog_add_to_list.xml
@@ -3,6 +3,15 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content">
+
+
+ android:text="@string/minus"/>
+ android:text="@string/plus"/>
diff --git a/Listify/app/src/main/res/layout/dialog_create_list.xml b/Listify/app/src/main/res/layout/dialog_create_list.xml
new file mode 100644
index 0000000..f031308
--- /dev/null
+++ b/Listify/app/src/main/res/layout/dialog_create_list.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Listify/app/src/main/res/values/strings.xml b/Listify/app/src/main/res/values/strings.xml
index 2de5c80..493310a 100644
--- a/Listify/app/src/main/res/values/strings.xml
+++ b/Listify/app/src/main/res/values/strings.xml
@@ -37,4 +37,10 @@
$00.00
Description
Product Image
+ Add item to List
+ -
+ 1
+ +
+ Create a new list
+ New list name
\ No newline at end of file