/ / Xamarin Android - Iniciar FragmentActivity desde Fragment - android, android-fragmentos, xamarin, android-fragmentactivity

Xamarin Android - Iniciar FragmentActivity desde Fragment - android, android-fragmentos, xamarin, android-fragmentactivity

Tengo un fragmento que tiene un evento de clic de botón, al hacer clic en este botón necesito iniciar una Actividad de Fragmento, pero parece que estoy recibiendo errores de cualquier forma que trate de hacerlo.

Aquí está mi evento de clic de botón en el Fragmento:

myExhibitGallery.Click += delegate {

//StartActivity(typeof(MyExhibitHistoryActivity));

Intent intent = new Intent(MyExhibitHistoryActivity);
StartActivity(intent);

Como puede ver, he intentado usar dos métodos diferentes (intención y StartActivity), pero ambos arrojan errores.

Aquí está el FragmentActivity que quiero comenzar:

[Activity (Label = "My Exhibit History")]
public class MyExhibitHistoryActivity : FragmentActivity
{
ViewPager _viewPager;

protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);

SetContentView (Resource.Layout.MyExhibitHistory);

_viewPager = FindViewById<ViewPager> (Resource.Id.viewPager);
}
}

public class ViewFragmentAdapter: FragmentPagerAdapter
{
public ViewFragmentAdapter (Android.Support.V4.App.FragmentManager fm) : base (fm)
{
}

public override int Count {
get { return 5; }
}



public override Android.Support.V4.App.Fragment GetItem (int position)
{
return new viewerFragment();
}
}


public class viewerFragment: Android.Support.V4.App.Fragment
{
public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
var view = inflater.Inflate (Resource.Layout.myExhibitHistoryItem, container, false);

return view;
}
}

¿Puede alguien mostrarme la forma correcta de iniciar FragmentActivity, por favor?

Respuestas

2 para la respuesta № 1

Agrega un uso a tu Fragmento:

using Android.Content;

Agrega una función para manejar el evento de esta manera:

void StartMyExhibitHistoryActivity (object sender, EventArgs e)
{
var myExhibitHistoryActivity = new Intent (this.Activity, typeof(MyExhibitHistoryActivity));
StartActivity (MyExhibitHistoryActivity);
}

Y finalmente añadir el evento Click:

myExhibitGallery.Click += StartMyExhibitHistoryActivity;