diff --git a/Listify/app/src/main/java/com/example/listify/MainActivity.java b/Listify/app/src/main/java/com/example/listify/MainActivity.java index 2575fb3..3cdd75b 100644 --- a/Listify/app/src/main/java/com/example/listify/MainActivity.java +++ b/Listify/app/src/main/java/com/example/listify/MainActivity.java @@ -76,13 +76,13 @@ public class MainActivity extends AppCompatActivity { NavigationView navigationView = findViewById(R.id.nav_view); // Passing each menu ID as a set of Ids because each menu should be considered as top level destinations. mAppBarConfiguration = new AppBarConfiguration.Builder( - R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow) + R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow, R.id.nav_lists) .setDrawerLayout(drawer) .build(); NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment); NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration); NavigationUI.setupWithNavController(navigationView, navController); - + // Handle search button click ImageButton searchButton = (ImageButton) findViewById(R.id.searchButton); searchButton.setOnClickListener(new View.OnClickListener() { diff --git a/Listify/app/src/main/java/com/example/listify/adapter/DisplayShoppingListsAdapter.java b/Listify/app/src/main/java/com/example/listify/adapter/DisplayShoppingListsAdapter.java index 6e94238..4de7e08 100644 --- a/Listify/app/src/main/java/com/example/listify/adapter/DisplayShoppingListsAdapter.java +++ b/Listify/app/src/main/java/com/example/listify/adapter/DisplayShoppingListsAdapter.java @@ -43,7 +43,7 @@ public class DisplayShoppingListsAdapter extends BaseAdapter { inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } if (convertView == null) { - convertView = inflater.inflate(R.layout.search_list_item, null); + convertView = inflater.inflate(R.layout.display_shopping_lists_item, null); } ShoppingList curList = lists.get(position); diff --git a/Listify/app/src/main/java/com/example/listify/ui/lists/ListsFragment.java b/Listify/app/src/main/java/com/example/listify/ui/lists/ListsFragment.java new file mode 100644 index 0000000..b188136 --- /dev/null +++ b/Listify/app/src/main/java/com/example/listify/ui/lists/ListsFragment.java @@ -0,0 +1,53 @@ +package com.example.listify.ui.lists; + +import android.os.Bundle; +import android.view.View; +import android.view.ViewGroup; +import android.view.LayoutInflater; +import android.widget.AdapterView; +import android.widget.ListView; +import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.fragment.app.Fragment; + +import com.example.listify.MainActivity; +import com.example.listify.R; +import com.example.listify.adapter.DisplayShoppingListsAdapter; +import com.example.listify.model.ShoppingList; + +import java.util.ArrayList; + +public class ListsFragment extends Fragment { + ListView shoppingListsView; + + public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View root = inflater.inflate(R.layout.fragment_lists, container, false); + +// Toolbar toolbar = (Toolbar) root.findViewById(R.id.toolbar_lists); +// ((AppCompatActivity)getActivity()).setActionBar(toolbar); + + // Hardcode shopping lists to demonstrate displaying lists + shoppingListsView = root.findViewById(R.id.shopping_lists); + ShoppingList a = new ShoppingList("first list"); + ShoppingList b = new ShoppingList("Groceries"); + ShoppingList c = new ShoppingList("Expensive Stuff"); + ArrayList shoppingLists = new ArrayList<>(); + shoppingLists.add(a); + shoppingLists.add(b); + shoppingLists.add(c); + + // Set adapter and display this users lists + DisplayShoppingListsAdapter displayShoppingListsAdapter = new DisplayShoppingListsAdapter(getActivity(), shoppingLists); + shoppingListsView.setAdapter(displayShoppingListsAdapter); + shoppingListsView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + Toast.makeText(getContext(), "open and display " + shoppingLists.get(position).getName(), Toast.LENGTH_SHORT).show(); + } + }); + + return root; + } +} \ No newline at end of file diff --git a/Listify/app/src/main/res/drawable/ic_baseline_list_alt_28.xml b/Listify/app/src/main/res/drawable/ic_baseline_list_alt_28.xml new file mode 100644 index 0000000..e8b9972 --- /dev/null +++ b/Listify/app/src/main/res/drawable/ic_baseline_list_alt_28.xml @@ -0,0 +1,5 @@ + + + diff --git a/Listify/app/src/main/res/layout/app_bar_lists.xml b/Listify/app/src/main/res/layout/app_bar_lists.xml new file mode 100644 index 0000000..6f0d3ab --- /dev/null +++ b/Listify/app/src/main/res/layout/app_bar_lists.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Listify/app/src/main/res/layout/display_shopping_lists_item.xml b/Listify/app/src/main/res/layout/display_shopping_lists_item.xml index 45c92e4..5419294 100644 --- a/Listify/app/src/main/res/layout/display_shopping_lists_item.xml +++ b/Listify/app/src/main/res/layout/display_shopping_lists_item.xml @@ -1,8 +1,20 @@ + android:layout_width="match_parent" + android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto"> + android:layout_height="wrap_content" + android:layout_marginStart="8dp" + android:layout_marginTop="10dp" + android:layout_marginBottom="10dp" + android:layout_marginEnd="8dp" + android:textSize="20sp" + android:textStyle="bold" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> \ No newline at end of file diff --git a/Listify/app/src/main/res/layout/fragment_lists.xml b/Listify/app/src/main/res/layout/fragment_lists.xml new file mode 100644 index 0000000..fc4831a --- /dev/null +++ b/Listify/app/src/main/res/layout/fragment_lists.xml @@ -0,0 +1,22 @@ + + + + + + \ No newline at end of file diff --git a/Listify/app/src/main/res/menu/activity_main_drawer.xml b/Listify/app/src/main/res/menu/activity_main_drawer.xml index d7f2df2..f95fd19 100644 --- a/Listify/app/src/main/res/menu/activity_main_drawer.xml +++ b/Listify/app/src/main/res/menu/activity_main_drawer.xml @@ -16,5 +16,9 @@ android:id="@+id/nav_slideshow" android:icon="@drawable/ic_menu_slideshow" android:title="@string/menu_slideshow" /> + \ No newline at end of file diff --git a/Listify/app/src/main/res/menu/lists_menu.xml b/Listify/app/src/main/res/menu/lists_menu.xml new file mode 100644 index 0000000..493c783 --- /dev/null +++ b/Listify/app/src/main/res/menu/lists_menu.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/Listify/app/src/main/res/navigation/mobile_navigation.xml b/Listify/app/src/main/res/navigation/mobile_navigation.xml index a8103d9..274deba 100644 --- a/Listify/app/src/main/res/navigation/mobile_navigation.xml +++ b/Listify/app/src/main/res/navigation/mobile_navigation.xml @@ -22,4 +22,10 @@ android:name="com.example.listify.ui.slideshow.SlideshowFragment" android:label="@string/menu_slideshow" tools:layout="@layout/fragment_slideshow" /> + + \ 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 6299f7d..293ec9c 100644 --- a/Listify/app/src/main/res/values/strings.xml +++ b/Listify/app/src/main/res/values/strings.xml @@ -29,4 +29,5 @@ Search Button SearchResults Store selection + My Lists \ No newline at end of file