我发现这个java代码创建了一个通用的方法来启动其他活动的任何活动。
public void gotoActivity(Class activityClassReference)
{
Intent i = new Intent(this,activityClassReference);
startActivity(i);
}
如何将该代码转换为c#for xamarin-Android?
提前致谢。
答案 0 :(得分:11)
你可以写:
public void GoToActivity(Type myActivity)
{
StartActivity(myActivity);
}
并称之为:
GoToActivity(typeof(ActivityType));
或者只写:
StartActivity(typeof(ActivityType));
答案 1 :(得分:4)
void btnEntrar_Click(object sender,EventArgs e)
{
var NxtAct= new Intent(this, typeof(Perguntas2));
StartActivity(NxtAct);
}
在我的代码中我做了这个
答案 2 :(得分:2)
这就是我在我的应用程序中完成它的方式
public void StartAuthenticatedActivity(System.Type activityType)
{
var intent = new Intent(this, activityType);
StartActivity(intent);
}
public void StartAuthenticatedActivity<TActivity>() where TActivity: Activity
{
StartAuthenticatedActivity(typeof(TActivity));
}
然后,您可以添加TActivity : YourBaseActivity
是您已创建的基本活动的位置
答案 3 :(得分:0)
我知道这个问题可能已经过时,但我有一个不同的方法,有一个外部课程,用于对任何现有活动进行一般呼叫操作:
public static class GeneralFunctions
{
public static void changeView(Activity _callerActivity, Type activityType)
{
ContextWrapper cW = new ContextWrapper(_callerActivity);
cW.StartActivity(intent);
}
}
Button redirectButton = FindViewById<Button>(Resource.Id.RedirectButton);
redirectButton.Click += delegate
{
GeneralFunctions.changeView(this, typeof(LoginView));
};
也许这对你们中的一些人有帮助