예제 #1
0
        void ActionBarButtonClicked(int id)
        {
            if (id == OK_BUTTON)
            {
                try
                {
                    HeaderViewListAdapter adapter     = (HeaderViewListAdapter)lvItems.Adapter;
                    CheckableItemsAdapter origAdapter = (CheckableItemsAdapter)adapter.WrappedAdapter;

                    if (origAdapter.CheckedItemIds.Count > 0)
                    {
                        _checkedItems = origAdapter.CheckedItemIds;

                        Dismiss();
                    }
                }
                catch (Exception ex)
                {
                    Log.Error("ActionBarButtonClicked SAVE_BUTTON", "ActionBarButtonClicked SAVE_BUTTON " + ex.Message);
                }
            }
            else
            if (id == CANCEL_BUTTON)
            {
                Cancel();
            }
        }
예제 #2
0
        public ItemsSelectDialog(Activity context, int theme, TransHed header) : base(context, theme)
        {
            currentContext = context;
            transHed       = header;
            activity       = context;
            //SetTitle(context.GetString (Resource.String.miItems));
            SetContentView(Resource.Layout.dialog_item_search);

            actionBar = (RetailMobile.Fragments.ItemActionBar)((Android.Support.V4.App.FragmentActivity)activity).SupportFragmentManager.FindFragmentById(Resource.Id.ActionBarDialog1);
            actionBar.ActionButtonClicked += new RetailMobile.Fragments.ItemActionBar.ActionButtonCLickedDelegate(ActionBarButtonClicked);
            actionBar.ClearButtons();
            actionBar.AddButtonRight(OK_BUTTON, currentContext.GetString(Resource.String.btnOK), Resource.Drawable.tick_16);
            actionBar.AddButtonLeft(CANCEL_BUTTON, currentContext.GetString(Resource.String.btnClose), Resource.Drawable.close_icon64);
            actionBar.SetTitle(currentContext.GetString(Resource.String.miItems));

            lvItems         = FindViewById <ListView>(Resource.Id.lvItems);
            tbSearch        = FindViewById <EditText>(Resource.Id.tbSearch);
            tbRetVal        = FindViewById <EditText>(Resource.Id.tbRetVal);
            cbCateg1        = FindViewById <Spinner>(Resource.Id.cbCateg1);
            cbCateg2        = FindViewById <Spinner>(Resource.Id.cbCateg2);
            imgItemSelected = FindViewById <ImageView>(Resource.Id.imgItemSelected);
            btnShowImage    = FindViewById <Button>(Resource.Id.btnShowImage);

            btnShowImage.Click += new EventHandler(btnShowImage_Click);

            tbSearch.AfterTextChanged += new EventHandler <Android.Text.AfterTextChangedEventArgs>(tbSearch_AfterTextChanged);
            tbRetVal.AfterTextChanged += new EventHandler <Android.Text.AfterTextChangedEventArgs>(tbSearch_AfterTextChanged);

            List <KeyValuePair <int, string> > categ1List = AddCategoryList(1);
            List <KeyValuePair <int, string> > categ2List = AddCategoryList(2);

            categ1List.Insert(0, new KeyValuePair <int, string>(0, activity.GetString(Resource.String.SpinnerAll)));
            categ2List.Insert(0, new KeyValuePair <int, string>(0, activity.GetString(Resource.String.SpinnerAll)));

            SpinnerAdapter <int, string> categ1Adapter = new SpinnerAdapter <int, string>(activity, categ1List);
            SpinnerAdapter <int, string> categ2Adapter = new SpinnerAdapter <int, string>(activity, categ2List);

            cbCateg1.Adapter       = categ1Adapter;
            cbCateg2.Adapter       = categ2Adapter;
            cbCateg1.ItemSelected += new EventHandler <AdapterView.ItemSelectedEventArgs>(cbCateg1_ItemSelected);
            cbCateg2.ItemSelected += new EventHandler <AdapterView.ItemSelectedEventArgs>(cbCateg1_ItemSelected);

            lvItems.FocusChange += new EventHandler <View.FocusChangeEventArgs>(lvItems_FocusChange);
            lvItems.AddHeaderView(context.LayoutInflater.Inflate(Resource.Layout.item_row_checkable_header, null));

            adapterItems = new CheckableItemsAdapter(activity, new ItemInfoList());
            adapterItems.ItemImageSelected += new CheckableItemsAdapter.ItemImageSelectedDelegate(ItemImageSelected);
            lvItems.Adapter = adapterItems;

            adapterItems.SingleItemSelectedEvent += () =>
            {
                _checkedItems = adapterItems.CheckedItemIds;

                Dismiss();
            };
            adapterItems.SingleItemFocusedEvent += (item) =>
            {
                TextView lblItemSelectedInfo = FindViewById <TextView>(Resource.Id.lblItemSelectedInfo);
                //ImageView imgItemSelected = FindViewById<ImageView>(Resource.Id.imgItemSelected);
                lblItemSelectedInfo.Text = item.ItemDesc;
                imgItemSelected.SetImageResource(Resource.Drawable.night);//todo
            };

            lvItems.Scroll += new EventHandler <AbsListView.ScrollEventArgs>((o, e) => {
                if (scrollLoading && e.TotalItemCount > previousTotal)
                {
                    scrollLoading = false;
                    previousTotal = e.TotalItemCount;
                    currentPage++;
                }

                if (!scrollLoading && (e.FirstVisibleItem + e.VisibleItemCount) + 10 >= e.TotalItemCount && e.TotalItemCount >= 10)
                {
//					((IScrollLoadble)lvItems.Adapter).LoadData(currentPage);
                    HeaderViewListAdapter adapter = (HeaderViewListAdapter)lvItems.Adapter;
                    IScrollLoadble origAdapter    = (IScrollLoadble)adapter.WrappedAdapter;
                    origAdapter.LoadData(currentPage);

                    scrollLoading = true;
                }
            });
        }
예제 #3
0
        void ReloadItems()
        {
            currentPage = 0;
            int     cbCateg1Id = ((SpinnerAdapter <int, string>)cbCateg1.Adapter).GetSelectedValue(cbCateg1.SelectedItemPosition);
            int     cbCateg2Id = ((SpinnerAdapter <int, string>)cbCateg2.Adapter).GetSelectedValue(cbCateg2.SelectedItemPosition);
            decimal retVal     = 0;

            decimal.TryParse(tbRetVal.Text.Trim(), out retVal);

            if (cbCateg1Id == 0 & cbCateg2Id == 0 && retVal == 0 && tbSearch.Text == "")
            {
                lvItems.Adapter = new CheckableItemsAdapter(activity, new Library.ItemInfoList());
                return;
            }

            ItemInfoList.Criteria crit = new ItemInfoList.Criteria()
            {
                ItemDesc  = tbSearch.Text,
                Category1 = cbCateg1Id,
                Category2 = cbCateg2Id,
                RetVal    = retVal,
                CstId     = transHed.CstId
            };

            if (itemInfoList != null && itemInfoList.CurrentCriteria.Category1 == crit.Category1 && itemInfoList.CurrentCriteria.Category2 == crit.Category2 &&
                itemInfoList.CurrentCriteria.CstId == crit.CstId && itemInfoList.CurrentCriteria.ItemDesc == crit.ItemDesc && itemInfoList.CurrentCriteria.RetVal == crit.RetVal)
            {
                return;
            }

            //itemInfoList = ItemInfoList.GetItemInfoList(activity,crit);
            itemInfoList = new ItemInfoList();
            itemInfoList.CurrentCriteria = crit;

            adapterItems = new CheckableItemsAdapter(activity, itemInfoList);
            adapterItems.ItemImageSelected += new CheckableItemsAdapter.ItemImageSelectedDelegate(ItemImageSelected);
            adapterItems.LoadData(0);

            /*ItemInfoList.LoadAdapterItems(currentContext,0,adapterItems,new ItemInfoList.Criteria()
             *                                        {
             *                  ItemDesc = tbSearch.Text,
             *                  Category1 = cbCateg1Id,
             *                  Category2 = cbCateg2Id,
             *                  RetVal = retVal,
             *                  CstId = transHed.CstId
             *          });*/

            lvItems.Adapter = adapterItems;
            currentPage     = 1;//	lvItems.LastVisiblePosition

            adapterItems.SingleItemSelectedEvent += () =>
            {
                _checkedItems = adapterItems.CheckedItemIds;

                Dismiss();
            };
            adapterItems.SingleItemFocusedEvent += (item) =>
            {
                TextView  lblItemSelectedInfo = FindViewById <TextView>(Resource.Id.lblItemSelectedInfo);
                ImageView imgItemSelected     = FindViewById <ImageView>(Resource.Id.imgItemSelected);
                lblItemSelectedInfo.Text = item.ItemDesc;
                //tincho da go vidi
                //ItemInfo itemInfo = ItemInfo.GetItem(currentContext, item.ItemId, false);
                //imgItemSelected.SetImageBitmap(itemInfo.ItemImage);
            };

            GC.Collect();
        }