protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Reproducirlista);
            inst = this;
            //////////////////////////////declaraciones//////////////////////////////////

            parador    = true;
            playpause  = FindViewById <ImageView>(Resource.Id.imageView2);
            lista      = FindViewById <ListView>(Resource.Id.listView1);
            volverhome = FindViewById <ImageView>(Resource.Id.imageView1);
            textbox    = FindViewById <TextView>(Resource.Id.textView1);
            background = FindViewById <LinearLayout>(Resource.Id.LinearLayout0);
            barra      = FindViewById <LinearLayout>(Resource.Id.linearLayout2);
            tl         = FindViewById <Android.Support.Design.Widget.TabLayout>(Resource.Id.tabs);

            tl.AddTab(tl.NewTab().SetText("Local"));
            tl.AddTab(tl.NewTab().SetText("Remoto"));
            //////////////////////////////////////////////////////////////////////////////
            /////////////////////////////miselaneo+conexion//////////////////////////////


            //  barra.SetBackgroundColor(Android.Graphics.Color.Black);


            new Thread(() => cojerstream()).Start();
            new Thread(() => llenarlistas()).Start();
            textbox.Selected = true;

            /*  var adaptadolo = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, new List<string> { "No hay elementos para mostrar.." });
             * RunOnUiThread(() => lista.Adapter = adaptadolo);*/
            //////////////////////////////////////////////////////////////////////////////
            ////////////////////////////Eventos//////////////////////////////////////////
            // barra.SetBackgroundColor(Android.Graphics.Color.ParseColor("#2b2e30"));

            playpause.Click += delegate
            {
                Mainmenu.gettearinstancia().clientela.Client.Send(Encoding.Default.GetBytes("playpause()"));
            };
            volverhome.Click += delegate
            {
                Finish();
                MultiHelper.ExecuteGarbageCollection();
            };
            tl.TabSelected += (aa, sss) =>
            {
                new Thread(() =>
                {
                    if (sss.Tab.Text == "Local")
                    {
                        query = "Fromremote";



                        if (listaslocales.Count > 0)
                        {
                            var adap = new adapterlistaremoto(this, listaslocales.Select(asd => asd.Name).ToList(), listaslocales.Select(asd => asd.Portrait).ToList());
                            RunOnUiThread(() =>
                            {
                                var parcelable = lista.OnSaveInstanceState();
                                lista.Adapter  = adap;
                                lista.OnRestoreInstanceState(parcelable);
                            });
                        }
                        else
                        {
                            var adaptadol = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, new List <string> {
                                "No hay elementos para mostrar.."
                            });
                            RunOnUiThread(() =>
                            {
                                var parcelable = lista.OnSaveInstanceState();
                                lista.Adapter  = adaptadol;
                                lista.OnRestoreInstanceState(parcelable);
                            });
                        }
                    }
                    else
                    {
                        query = "Fromlocal";
                        if (listasremotas.Count > 0)
                        {
                            var adap = new adapterlistaremoto(this, listasremotas.Select(asd => asd.Name).ToList(), listasremotas.Select(asd => asd.Portrait).ToList());
                            RunOnUiThread(() =>
                            {
                                var parcelable = lista.OnSaveInstanceState();
                                lista.Adapter  = adap;
                                lista.OnRestoreInstanceState(parcelable);
                            });
                        }
                        else
                        {
                            var adaptadol = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, new List <string> {
                                "No hay elementos para mostrar.."
                            });
                            RunOnUiThread(() =>
                            {
                                var parcelable = lista.OnSaveInstanceState();
                                lista.Adapter  = adaptadol;
                                lista.OnRestoreInstanceState(parcelable);
                            });
                        }
                    }
                }).Start();
            };

            lista.ItemClick += (sender, args) =>
            {
                playlistidx = args.Position;

                Intent intento = new Intent(this, typeof(dialogolistasact));
                if (query == "Fromremote" && listaslocales.Count > 0)
                {
                    if (listaslocales[playlistidx].Portrait.Trim() != "")
                    {
                        intento.PutExtra("nombrelista", listaslocales[playlistidx].Name);
                        intento.PutExtra("portada", listaslocales[playlistidx].Portrait);
                        intento.PutExtra("querry", query);

                        StartActivity(intento);
                    }
                    else
                    {
                        Toast.MakeText(this, "La lista esta vacia", ToastLength.Long).Show();
                    }
                }
                else

                {
                    if (listasremotas.Count > 0)
                    {
                        if (listasremotas[playlistidx].MediaElements.Count > 0)
                        {
                            intento.PutExtra("nombrelista", listasremotas[playlistidx].Name);
                            intento.PutExtra("portada", listasremotas[playlistidx].Portrait);
                            intento.PutExtra("querry", query);
                            StartActivity(intento);
                        }
                        else
                        {
                            Toast.MakeText(this, "La lista esta vacia", ToastLength.Long).Show();
                        }
                    }

                    /*    mainmenu.gettearinstancia()
                     * .clientelalistas
                     * .Client
                     * .Send(Encoding
                     * .UTF8
                     * .GetBytes("Sendplaylist__==__==__" + JsonConvert.SerializeObject(listasremotas[playlistidx])));*/
                }


                /*   AlertDialog.Builder ad = new AlertDialog.Builder(this);
                 * ad.SetCancelable(false);
                 * ad.SetTitle("Advertencia");
                 * ad.SetMessage("Desea reproducir esta lista de reproduccio en el dispositivo servidor??");
                 *  ad.SetIcon(Resource.Drawable.warningsignonatriangularbackground);
                 * posicion = args.Position;
                 * ad.SetPositiveButton("Si", ok);
                 * ad.SetNegativeButton("No", no);
                 * ad.Create();
                 * ad.Show();*/
            };



            // Create your application here
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.dialogolistas);
            var          inst            = Reproducirlistaact.gettearinstancia();
            ImageView    fondo           = FindViewById <ImageView>(Resource.Id.fondo1);
            ImageView    imgaccion       = FindViewById <ImageView>(Resource.Id.imagenaccion);
            TextView     textoaccion     = FindViewById <TextView>(Resource.Id.textView3);
            TextView     textoheader     = FindViewById <TextView>(Resource.Id.textView1);
            LinearLayout botonreproducir = FindViewById <LinearLayout>(Resource.Id.imageView3);
            LinearLayout botonaccion     = FindViewById <LinearLayout>(Resource.Id.imageView2);
            LinearLayout botoninfo       = FindViewById <LinearLayout>(Resource.Id.imageView5);

            this.SetFinishOnTouchOutside(true);
            textoheader.Text = Intent.GetStringExtra("nombrelista");
            Glide.With(this)
            .Load("http://i.ytimg.com/vi/" + Intent.GetStringExtra("portada").Split('=')[1] + "/mqdefault.jpg")
            .Into(fondo);
            var query = Intent.GetStringExtra("querry");

            if (query == "Fromlocal")
            {
                imgaccion.SetBackgroundResource(Resource.Drawable.downloadbutton);
                textoaccion.Text = "Guardar lista";
            }
            else
            {
                imgaccion.SetBackgroundResource(Resource.Drawable.upload);
                textoaccion.Text = "Enviar lista";
            }
            var arch    = File.ReadAllText(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/" + inst.listaslocales[inst.playlistidx].Name);
            var counter = arch.Split('$')[1].Split(';').ToList();

            if (counter.Count > 0)
            {
                if (counter[0].Trim() == "")
                {
                    this.Finish();
                    Toast.MakeText(this, "La lista esta vacia", ToastLength.Long).Show();
                }
            }
            else
            {
                this.Finish();
                Toast.MakeText(this, "La lista esta vacia", ToastLength.Long).Show();
            }
            botonaccion.Click += delegate
            {
                new Thread(() =>
                {
                    if (query == "Fromlocal")
                    {
                        Mainmenu.gettearinstancia().playlistreceived = false;
                        RunOnUiThread(() =>
                        {
                            new Android.Support.V7.App.AlertDialog.Builder(this)
                            .SetTitle("Advertencia")
                            .SetMessage("Desea guardar la lista de reproduccion remota: " + Intent.GetStringExtra("nombrelista") + "??\n NOTA:\nSi hay una lista con este mismo nombre sera sustituida por esta")
                            .SetPositiveButton("Si", (aa, aaa) =>
                            {
                                new Thread(() =>
                                {
                                    var elementos = inst.listasremotas[inst.playlistidx];
                                    var nombreses = string.Join(";", elementos.MediaElements.Select(axx => axx.Name).ToArray()) + ";";
                                    var linkeses  = string.Join(";", elementos.MediaElements.Select(axx => axx.Link).ToArray()) + ";";
                                    var archi     = File.CreateText(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/" + Intent.GetStringExtra("nombrelista"));
                                    archi.Write(nombreses + "$" + linkeses);
                                    archi.Close();
                                    RunOnUiThread(() => Toast.MakeText(this, "Lista guardada exitosamente", ToastLength.Long).Show());
                                }).Start();
                            })
                            .SetNegativeButton("No", (aa, ff) => { })
                            .Create()
                            .Show();
                        });
                    }
                    else
                    {
                        var listilla  = new List <PlaylistElement>();
                        var texto     = File.ReadAllText(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/" + inst.listaslocales[inst.playlistidx].Name);
                        var nombreses = texto.Split('$')[0].Split(';').ToList();
                        var links     = texto.Split('$')[1].Split(';').ToList();

                        var listaelementos = new List <PlaylistElement>();
                        for (int i = 0; i < nombreses.Count; i++)
                        {
                            if (nombreses[i].Trim() != "" && links[i].Trim() != "")
                            {
                                var elemento = new PlaylistElement()
                                {
                                    Name = nombreses[i],
                                    Link = links[i]
                                };
                                listaelementos.Add(elemento);
                            }
                        }
                        inst.listaslocales[inst.playlistidx].MediaElements = listaelementos;
                        Mainmenu.gettearinstancia()
                        .clientelalistas
                        .Client
                        .Send(Encoding.UTF8.GetBytes("Receive__==__==__" + JsonConvert.SerializeObject(inst.listaslocales[inst.playlistidx])));
                        RunOnUiThread(() => Toast.MakeText(this, "Lista enviada exitosamente", ToastLength.Long).Show());



                        RunOnUiThread(() => this.Finish());
                    }
                }).Start();
            };

            botoninfo.Click += delegate
            {
                new Thread(() =>
                {
                    if (query == "Fromremote")
                    {
                        if (inst.listaslocales.Count > 0)
                        {
                            var listilla  = new List <PlaylistElement>();
                            var texto     = File.ReadAllText(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/" + inst.listaslocales[inst.playlistidx].Name);
                            var nombreses = texto.Split('$')[0].Split(';').ToList();
                            var links     = texto.Split('$')[1].Split(';').ToList();

                            var listaelementos = new List <PlaylistElement>();
                            for (int i = 0; i < nombreses.Count; i++)
                            {
                                if (nombreses[i].Trim() != "" || links[i].Trim() != "")
                                {
                                    var elemento = new PlaylistElement()
                                    {
                                        Name = nombreses[i],
                                        Link = links[i]
                                    };
                                    listaelementos.Add(elemento);
                                }
                            }
                            RunOnUiThread(() =>
                            {
                                ListView lista           = new ListView(this);
                                adapterlistaremoto adapt = new adapterlistaremoto(this, listaelementos.Select(ax => ax.Name).ToList(), listaelementos.Select(ax => ax.Link).ToList());
                                lista.Adapter            = adapt;

                                new AlertDialog.Builder(this)
                                .SetTitle("Elementos de esta lista de reproducción")
                                .SetView(lista).SetPositiveButton("Entendido!", (dd, fgf) => { })
                                .Create()
                                .Show();
                            });
                        }
                    }
                    else
                    {
                        var elementos = inst.listasremotas[inst.playlistidx];
                        RunOnUiThread(() =>
                        {
                            ListView lista           = new ListView(this);
                            adapterlistaremoto adapt = new adapterlistaremoto(this, elementos.MediaElements.Select(ax => ax.Name).ToList(), elementos.MediaElements.Select(ax => ax.Link).ToList());
                            lista.Adapter            = adapt;
                            new AlertDialog.Builder(this)
                            .SetTitle("Elementos de esta lista de reproducción")
                            .SetView(lista).SetPositiveButton("Entendido!", (dd, fgf) => { })
                            .Create()
                            .Show();
                        });
                    }
                }).Start();
            };

            botonreproducir.Click += delegate {
                if (query == "Fromremote")
                {
                    if (inst.listaslocales.Count > 0)
                    {
                        var listilla  = new List <PlaylistElement>();
                        var texto     = File.ReadAllText(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath + "/gr3playerplaylist/" + inst.listaslocales[inst.playlistidx].Name);
                        var nombreses = texto.Split('$')[0].Split(';').ToList();
                        var links     = texto.Split('$')[1].Split(';').ToList();

                        var listaelementos = new List <PlaylistElement>();
                        for (int i = 0; i < nombreses.Count; i++)
                        {
                            if (nombreses[i].Trim() != "" && links[i].Trim() != "")
                            {
                                var elemento = new PlaylistElement()
                                {
                                    Name = nombreses[i],
                                    Link = links[i]
                                };
                                listaelementos.Add(elemento);
                            }
                        }
                        inst.listaslocales[inst.playlistidx].MediaElements = listaelementos;
                        Mainmenu.gettearinstancia()
                        .clientelalistas
                        .Client
                        .Send(Encoding.UTF8.GetBytes(query + "__==__==__" + JsonConvert.SerializeObject(inst.listaslocales[inst.playlistidx])));
                    }
                    else
                    {
                        Toast.MakeText(this, "No hay listas de reproduccion", ToastLength.Long).Show();
                    }
                }
                else
                {
                    if (inst.listasremotas.Count > 0)
                    {
                        Mainmenu.gettearinstancia()
                        .clientelalistas
                        .Client
                        .Send(Encoding.UTF8.GetBytes(query + "__==__==__" + JsonConvert.SerializeObject(inst.listasremotas[inst.playlistidx])));
                    }
                    else
                    {
                        Toast.MakeText(this, "La lista esta vacia", ToastLength.Long).Show();
                    }
                }



                this.Finish();
            };



            // Create your application here
        }