package com.biznow.ordernow.fragments; import java.util.ArrayList; import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import com.biznow.ordernow.ApplicationState; import com.biznow.ordernow.R; import com.biznow.ordernow.adapter.FoodMenuItemAdapter; import com.biznow.ordernow.filter.MenuFilter; import com.biznow.ordernow.model.FoodMenuItem; import com.google.gson.Gson; public class IndividualMenuTabFragment extends Fragment { private String tabTitle; private ArrayList<FoodMenuItem> foodMenuItemList; private FoodMenuItemAdapter foodMenuItemAdapter; public interface numListener { public float getQuantity(FoodMenuItem foodMenuItem); public void incrementQuantity(FoodMenuItem foodMenuItem); public void decrementQuantity(FoodMenuItem foodMenuItem); } numListener numCallBack; AddNoteListener addNoteListener; private MenuFilter menuFilterLocal = new MenuFilter(); // private HashMap<MenuPropertyKey, List<MenuPropertyValue>> selectedFilters; @Override public void onAttach(android.app.Activity activity) { super.onAttach(activity); try { numCallBack = (numListener) activity; addNoteListener = (AddNoteListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement Listeners!!"); }; }; public static Fragment newInstance(String categoryName, ArrayList<FoodMenuItem> foodMenuItem, MenuFilter selectedFilters) { if(foodMenuItem == null||foodMenuItem.size()==0) { return new NullDishesFragment(); } IndividualMenuTabFragment imt = new IndividualMenuTabFragment(); imt.tabTitle = categoryName; imt.foodMenuItemList = foodMenuItem; imt.menuFilterLocal = selectedFilters; return imt; } @Override public View onCreateView(final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Log.i("IndividualMenu view", "view "+tabTitle); View foodCategoryView = inflater.inflate(R.layout.category_page, null); this.foodMenuItemAdapter = new FoodMenuItemAdapter(getActivity().getApplicationContext(), foodMenuItemList, numCallBack, addNoteListener); ListView lv = (ListView) foodCategoryView.findViewById(R.id.dish_list); lv.setAdapter(foodMenuItemAdapter); lv.setOnCreateContextMenuListener(getActivity()); //check if filter is present MenuFilter menuFilter = ApplicationState.getMenuFilter((ApplicationState)getActivity().getApplicationContext()); String filter = ""; if (menuFilterLocal != null) { if (menuFilter != null && menuFilter.getFilterProperties() != null) { menuFilterLocal.addFilter(menuFilter.getFilterProperties()); } Gson gs = new Gson(); filter = gs.toJson(menuFilterLocal); Log.i("IndividualMenu","filterValue = " + filter); } if (filter != null && !filter.isEmpty()) { this.foodMenuItemAdapter.getFilter().filter(filter); } return foodCategoryView; } }