예제 #1
0
 /// <summary>
 /// Ons the dismiss.
 /// </summary>
 /// <param name="dialog">Dialog.</param>
 public void OnDismiss(IDialogInterface dialog)
 {
     _dialog.SetOnShowListener(null);
     _dialog.SetOnDismissListener(null);
     _dialog.Dispose();
     _dialog = null;
     _adapter?.Dispose();
     _adapter = null;
     _listView.Dispose();
     _listView     = null;
     this.Selected = false;
 }
예제 #2
0
 /// <summary>
 /// Dispose the specified disposing.
 /// </summary>
 /// <returns>The dispose.</returns>
 /// <param name="disposing">If set to <c>true</c> disposing.</param>
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         _dialog?.Dispose();
         _dialog = null;
         _listView?.Dispose();
         _listView = null;
         _adapter?.Dispose();
         _adapter = null;
         _context = null;
     }
     base.Dispose(disposing);
 }
        void CreateDialog()
        {
            _listView           = new AListView(_context);
            _listView.Focusable = false;
            _listView.DescendantFocusability = Android.Views.DescendantFocusability.AfterDescendants;
            _listView.SetDrawSelectorOnTop(true);
            _listView.ChoiceMode          = _PickerCell.MaxSelectedNumber == 1 ? Android.Widget.ChoiceMode.Single : Android.Widget.ChoiceMode.Multiple;
            _adapter                      = new PickerAdapter(_context, _PickerCell, _listView);
            _listView.OnItemClickListener = _adapter;
            _listView.Adapter             = _adapter;

            _adapter.CloseAction = () =>
            {
                _dialog.GetButton((int)DialogButtonType.Positive).PerformClick();
            };

            if (_dialog == null)
            {
                using (var builder = new AlertDialog.Builder(_context)) {
                    builder.SetTitle(_PickerCell.PageTitle);
                    builder.SetView(_listView);

                    builder.SetNegativeButton(global::Android.Resource.String.Cancel, (o, args) =>
                    {
                        ClearFocus();
                    });
                    builder.SetPositiveButton(global::Android.Resource.String.Ok, (o, args) =>
                    {
                        _adapter.DoneSelect();
                        UpdateSelectedItems(true);
                        _PickerCell.InvokeCommand();
                        ClearFocus();
                    });


                    _dialog = builder.Create();
                }



                _dialog.SetCanceledOnTouchOutside(true);
                _dialog.SetOnDismissListener(this);
                _dialog.SetOnShowListener(this);
                _dialog.Show();
            }
        }
 /// <summary>
 /// Dispose the specified disposing.
 /// </summary>
 /// <returns>The dispose.</returns>
 /// <param name="disposing">If set to <c>true</c> disposing.</param>
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         _dialog?.Dispose();
         _dialog = null;
         _listView?.Dispose();
         _listView = null;
         _adapter?.Dispose();
         _adapter = null;
         _context = null;
         if (_notifyCollection != null)
         {
             _notifyCollection.CollectionChanged -= ItemsSourceCollectionChanged;
             _notifyCollection = null;
         }
     }
     base.Dispose(disposing);
 }
예제 #5
0
    private void Control_Click1(object sender, EventArgs e)
    {
        //throw new NotImplementedException();
        Picker model = Element;

        dialog = new Dialog(Forms.Context);
        dialog.SetContentView(Resource.Layout.custom_picker_dialog);
        Android.Widget.ListView listView = (Android.Widget.ListView)dialog.FindViewById(Resource.Id.listview);
        //listView.Adapter = new CustomPickerAdapter(((List<PickerModel>)model.ItemsSource), model.SelectedIndex);
        listView.Adapter    = new MyAdaptr((List <string>)model.ItemsSource);
        listView.ItemClick += (object sender1, ItemClickEventArgs e1) =>
        {
            Element.SelectedIndex = e1.Position;
            dialog.Hide();
        };
        if (model.ItemsSource.Count > 3)
        {
            var height = Xamarin.Forms.Application.Current.MainPage.Height;
            var width  = Xamarin.Forms.Application.Current.MainPage.Width;
            dialog.Window.SetLayout(700, 800);
            //dialog.Window.SetLayout(Convert.ToInt32(width * 2.70), Convert.ToInt32(height * 2));
        }
        dialog.Show();
    }
예제 #6
0
        protected override void OnAttached()
        {
            _nativeListView = this.Control as Android.Widget.ListView;

            _nativeListView.Scroll += ListView_Scroll;

            // うまくうごかないので ListView_Scroll 使う方にする(だから Effects を使わざるをえない)
            //(Element as ListView).ItemDisappearing += (s, e) =>
            //{
            //    var firstItem = _collection?.FirstOrDefault();
            //    if (firstItem == null)
            //    {
            //        return;
            //    }
            //    var disappearItem = e.Item as MastodonStatus;
            //    if (firstItem.Id == disappearItem.Id)
            //    {
            //        // スクロール停止
            //        _collection.EnterPageMode();
            //    }
            //};

            UpdateCollection();
        }
예제 #7
0
 protected override TableViewModelRenderer GetModelRenderer(Android.Widget.ListView listView, TableView view)
 {
     return(new C2Renderer(Context, listView, view));
 }
예제 #8
0
        public MainPage()
        {
            Title = "FilmSearch";

            var search = new Editor { };

            var listView = new ListView
            {
                RowHeight = 40
            };
            filmsList = new ObservableCollection<FilmData>();
            filmsList.Add(new FilmData
            {
                Title = "Start typing for search",
                Touchable = false,
            });
            listView.ItemsSource = filmsList;
            search.TextChanged += async (object sender, TextChangedEventArgs e) =>
            {

                var data = new Dictionary<string, string>();
                data.Add("s", e.NewTextValue);
                JsonValue result = await Api.getInstanse().get(ApiRequest.FIND_MOVIE, data);
                JsonValue resultJson = result;
                if (resultJson.ContainsKey("Search"))
                {
                    filmsList.Clear();
                    var searchResults = resultJson["Search"];

                    var itemsCollection = new List<string>();
                    for (int i = 0; i < searchResults.Count; i++)
                    {
                        if (searchResults[i].ContainsKey("Title"))
                        {
                            filmsList.Add(new FilmData
                            {
                                Title = searchResults[i]["Title"],
                                Year = searchResults[i]["Year"],
                                Type = searchResults[i]["Type"],
                                ImdbID = searchResults[i]["imdbID"],
                            });
                        }
                    }
                }
            };

            listView.ItemTemplate = new DataTemplate(typeof(TextCell));
            listView.ItemTemplate.SetBinding(TextCell.TextProperty, "Title");

            listView.ItemTapped += async (object sender, ItemTappedEventArgs e) => {
                ((ListView)sender).SelectedItem = null;
                FilmData filmData = (FilmData)e.Item;
                if (filmData.Touchable)
                {
                    var prms = new Dictionary<string, string>();
                    prms.Add("i", filmData.ImdbID);
                    prms.Add("plot", "full");

                    /////////////////////////
                    #if __ANDROID__
                    /////////////////////////
                    var context = Xamarin.Forms.Forms.Context;

                    var dlgAlert = (new Android.App.AlertDialog.Builder(context)).Create();
                    dlgAlert.SetTitle(filmData.Title);
                    var dialogListView = new Android.Widget.ListView(context);
                    Android.Widget.ArrayAdapter dialogAdapter = new Android.Widget.ArrayAdapter(context, Android.Resource.Layout.SimpleListItem1);
                    dialogAdapter.Add("Year: " + filmData.Year);
                    dialogAdapter.Add("Type: " + filmData.Type);

                    dialogListView.Adapter = dialogAdapter;

                    dlgAlert.SetView(dialogListView);
                    dlgAlert.SetButton("Close", handllerCancelButton);
                    dlgAlert.Show();

                    JsonValue filmResult = await Api.getInstanse().get(ApiRequest.FIND_MOVIE, prms);
                    JsonValue resultJson = filmResult;
                    if (resultJson.ContainsKey("Plot"))
                    {
                        filmData.Plot = resultJson["Plot"];
                        dialogAdapter.Add(filmData.Plot);
                        dialogAdapter.NotifyDataSetChanged();

                    }
                    /////////////////////////
                    #else
                    /////////////////////////
                    JsonValue filmResult = await Api.getInstanse().get(ApiRequest.FIND_MOVIE, prms);
                    var resultJson = filmResult;
                    if (resultJson.ContainsKey("Plot")){
                            filmData.Plot = resultJson["Plot"];
                            await mainPage.DisplayAlert(filmData.Title, "Year: " + filmData.Year + "\n" + "\n" + "Type: " + filmData.Type + "\n" + "\n" + filmData.Plot, "close");
                    }
                    /////////////////////////
                    #endif
                    /////////////////////////

                }

            };

            Content = new StackLayout
            {
                VerticalOptions = LayoutOptions.FillAndExpand,
                Children = {
                        search,
                        listView
                    }
            };
        }
 public MyTableViewModelRenderer(Context context, ListView listView, TableView view)
     : base(context, listView, view)
 {
     _view = view;
 }
 protected override TableViewModelRenderer GetModelRenderer(ListView listView, TableView view)
 {
     return(new MyTableViewModelRenderer(Context, listView, view));
 }
예제 #11
0
        public override void OnListItemClick(Android.Widget.ListView lValue, Android.Views.View vValue, int position, long id)
        {
            var client = clients[position];

            ConnectionManager.Current.LogIn(client.Id);
        }
        protected override void OnElementChanged(ElementChangedEventArgs <CustomViewWithList> e)
        {
            base.OnElementChanged(e);

            #region for populating data
            rewardsData = new List <RewardDetails>()
            {
                new RewardDetails()
                {
                    Title        = "Tropical Smoothie Cafe",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Enjoy ONE Potion of our Delicious Sliders / Sandwiches",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "POINTS",
                    OfferValue   = "200"
                },
                new RewardDetails()
                {
                    Title        = "Keva Smoothie - Devanation Dezavala",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Order For Rs 300  And Get A Sandwich Free",
                    ValidTill    = "Valid until 29/05/2017",
                    IsOffer1Null = true,
                    IsOffer2Null = false,
                    OfferType    = "",
                    OfferValue   = ""
                },
                new RewardDetails()
                {
                    Title        = "Marco Moderen Cafe",
                    Address      = "Lot G146, Ground Floor (Old Wing), 1Utamas",
                    Offer        = "Monsoon Top Up Sale: Get Upto 5% OFF",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "OFFER",
                    OfferValue   = "5%"
                },
                new RewardDetails()
                {
                    Title        = "Keva Smoothie - Devanation Dezavala",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Enjoy ONE Potion of our Delicious Sliders / Sandwiches",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "POINTS",
                    OfferValue   = "200"
                },
                new RewardDetails()
                {
                    Title        = "Marco Moderen Cafe",
                    Address      = "Lot G146, Ground Floor (Old Wing), 1Utamas",
                    Offer        = "Monsoon Top Up Sale: Get Upto 5% OFF",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "OFFER",
                    OfferValue   = "5%"
                },
                new RewardDetails()
                {
                    Title        = "Keva Smoothie - Devanation Dezavala",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Enjoy ONE Potion of our Delicious Sliders / Sandwiches",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "POINTS",
                    OfferValue   = "200"
                },
                new RewardDetails()
                {
                    Title        = "Marco Moderen Cafe",
                    Address      = "Lot G146, Ground Floor (Old Wing), 1Utamas",
                    Offer        = "Monsoon Top Up Sale: Get Upto 5% OFF",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "OFFER",
                    OfferValue   = "5%"
                },
                new RewardDetails()
                {
                    Title        = "Keva Smoothie - Devanation Dezavala",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Enjoy ONE Potion of our Delicious Sliders / Sandwiches",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "POINTS",
                    OfferValue   = "200"
                },
                new RewardDetails()
                {
                    Title        = "Marco Moderen Cafe",
                    Address      = "Lot G146, Ground Floor (Old Wing), 1Utamas",
                    Offer        = "Monsoon Top Up Sale: Get Upto 5% OFF",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "OFFER",
                    OfferValue   = "5%"
                },
                new RewardDetails()
                {
                    Title        = "Keva Smoothie - Devanation Dezavala",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Enjoy ONE Potion of our Delicious Sliders / Sandwiches",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "POINTS",
                    OfferValue   = "200"
                },
                new RewardDetails()
                {
                    Title        = "Marco Moderen Cafe",
                    Address      = "Lot G146, Ground Floor (Old Wing), 1Utamas",
                    Offer        = "Monsoon Top Up Sale: Get Upto 5% OFF",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "OFFER",
                    OfferValue   = "5%"
                },
                new RewardDetails()
                {
                    Title        = "Keva Smoothie - Devanation Dezavala",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Enjoy ONE Potion of our Delicious Sliders / Sandwiches",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "POINTS",
                    OfferValue   = "200"
                },
                new RewardDetails()
                {
                    Title        = "Marco Moderen Cafe",
                    Address      = "Lot G146, Ground Floor (Old Wing), 1Utamas",
                    Offer        = "Monsoon Top Up Sale: Get Upto 5% OFF",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "OFFER",
                    OfferValue   = "5%"
                },
                new RewardDetails()
                {
                    Title        = "Keva Smoothie - Devanation Dezavala",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Enjoy ONE Potion of our Delicious Sliders / Sandwiches",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "POINTS",
                    OfferValue   = "200"
                },
                new RewardDetails()
                {
                    Title        = "Marco Moderen Cafe",
                    Address      = "Lot G146, Ground Floor (Old Wing), 1Utamas",
                    Offer        = "Monsoon Top Up Sale: Get Upto 5% OFF",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "OFFER",
                    OfferValue   = "5%"
                },
                new RewardDetails()
                {
                    Title        = "Keva Smoothie - Devanation Dezavala",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Enjoy ONE Potion of our Delicious Sliders / Sandwiches",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "POINTS",
                    OfferValue   = "200"
                },
                new RewardDetails()
                {
                    Title        = "Marco Moderen Cafe",
                    Address      = "Lot G146, Ground Floor (Old Wing), 1Utamas",
                    Offer        = "Monsoon Top Up Sale: Get Upto 5% OFF",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "OFFER",
                    OfferValue   = "5%"
                },
                new RewardDetails()
                {
                    Title        = "Keva Smoothie - Devanation Dezavala",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Enjoy ONE Potion of our Delicious Sliders / Sandwiches",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "POINTS",
                    OfferValue   = "200"
                },
                new RewardDetails()
                {
                    Title        = "Marco Moderen Cafe",
                    Address      = "Lot G146, Ground Floor (Old Wing), 1Utamas",
                    Offer        = "Monsoon Top Up Sale: Get Upto 5% OFF",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "OFFER",
                    OfferValue   = "5%"
                },
                new RewardDetails()
                {
                    Title        = "Keva Smoothie - Devanation Dezavala",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Enjoy ONE Potion of our Delicious Sliders / Sandwiches",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "POINTS",
                    OfferValue   = "200"
                },
                new RewardDetails()
                {
                    Title        = "Marco Moderen Cafe",
                    Address      = "Lot G146, Ground Floor (Old Wing), 1Utamas",
                    Offer        = "Monsoon Top Up Sale: Get Upto 5% OFF",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "OFFER",
                    OfferValue   = "5%"
                },
                new RewardDetails()
                {
                    Title        = "Keva Smoothie - Devanation Dezavala",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Enjoy ONE Potion of our Delicious Sliders / Sandwiches",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "POINTS",
                    OfferValue   = "200"
                },
                new RewardDetails()
                {
                    Title        = "Marco Moderen Cafe",
                    Address      = "Lot G146, Ground Floor (Old Wing), 1Utamas",
                    Offer        = "Monsoon Top Up Sale: Get Upto 5% OFF",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "OFFER",
                    OfferValue   = "5%"
                },
                new RewardDetails()
                {
                    Title        = "Keva Smoothie - Devanation Dezavala",
                    Address      = "13000 Folsom Blvd, Folsom, CA 95630. USA",
                    Offer        = "Enjoy ONE Potion of our Delicious Sliders / Sandwiches",
                    ValidTill    = "Valid until 27/05/2017",
                    IsOffer1Null = false,
                    IsOffer2Null = true,
                    OfferType    = "POINTS",
                    OfferValue   = "200"
                }
            };
            #endregion

            if (Control == null)
            {
                var inflater = LayoutInflater.From(Forms.Context);
                nativeView = inflater.Inflate(Resource.Layout.listviewpagemodel, null);
                SetNativeControl(nativeView);
                //return;
            }
            if (e.OldElement != null)
            {
            }
            if (e.NewElement != null)
            {
                try
                {
                    lvLayout         = nativeView.FindViewById <Android.Widget.ListView>(Resource.Id.ListViewLayout);
                    lvLayout.Adapter = new CustomViewWithListAdapter(Forms.Context as Android.App.Activity, rewardsData);
                }
                catch (Exception ex)
                {
                    var msg = ex.Message;
                }
            }
        }
예제 #13
0
 public void UpdateTextOut(Android.Widget.ListView textout)
 {
     textout.Adapter = null;
     textout.Adapter = listAdapter;
 }
예제 #14
0
        public ScanCallBack(BluetoothAdapter adapter, Activity activity, System.Collections.Generic.Dictionary <string, BluetoothDevice> mapDevices, Android.Widget.ListView textout)
        {
            this.adapter    = adapter;
            this.mapDevices = mapDevices;
            this.textout    = textout;

            listAdapter          = new StringListAdapter(activity);
            this.textout.Adapter = listAdapter;
        }
 public CustomHeaderTableViewModelRenderer(Context context, Android.Widget.ListView listView, TableView view) : base(context, listView, view)
 {
     _coloredTableView = view as ColoredTableView;
 }