kdn29
kdn29

Reputation: 15

StartActivity from string

I want to start Activity using Aktywnosc string from Kalkulator in Xamarin Android Visual Studio

public class Kalkulator
    {
        public int Id { get; set; }
        public string Nazwa { get; set; }
        public string Aktywnosc { get; set; }
        public string Krotki_opis { get; set; }
        public string Zrodlo { get; set; }
        public string Ineksowanie { get; set; }
    }

The Activity is in Resource.biblioteka folder. I'm trying: Intent and start activity from string

and this

How can I start a new android activity using a string?

var e_nacisniety = Kalkulator.Lista_kalkulatorow().First(p=>p.Id == e.Position);
            var act = "Resources.biblioteka." + e_nacisniety.Aktywnosc;
            StartActivity(new Intent().SetClassName(this, act));

Upvotes: 1

Views: 524

Answers (1)

SushiHangover
SushiHangover

Reputation: 74144

Assuming this is the Activity that you are trying to start:

namespace SushiHangover
{
    [Activity(Name = "Resources.biblioteka.SomeActivity", Label = "SomeActivity")]
    public class SomeActivity : Activity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
        }
    }
}

Using the .Net Namespace/Class Name:

var intent = new Intent(this, Type.GetType("SushiHangover.SomeActivity"));
StartActivity(intent);

Using the Java Package/Class Name:

var intent = new Intent(this, Java.Lang.Class.ForName("Resources.biblioteka.SomeActivity"));
StartActivity(intent);

Upvotes: 1

Related Questions