/// <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; }
/// <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); }
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(); }
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(); }
protected override TableViewModelRenderer GetModelRenderer(Android.Widget.ListView listView, TableView view) { return(new C2Renderer(Context, listView, view)); }
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)); }
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; } } }
public void UpdateTextOut(Android.Widget.ListView textout) { textout.Adapter = null; textout.Adapter = listAdapter; }
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; }