C# Android启动活动

C# Android启动活动,c#,android-intent,static,monodevelop,start-activity,C#,Android Intent,Static,Monodevelop,Start Activity,我正在使用MonoDevelop for Android和MapsAndlocationDemo,我有一个关于启动另一个活动的问题 这是我的密码: public void loadActivity (Context ActivityContext) { var second = new Intent(ActivityContext, typeof(LocationDetailsActivity)); second.PutExtra("FirstDa

我正在使用MonoDevelop for Android和MapsAndlocationDemo,我有一个关于启动另一个活动的问题

这是我的密码:

    public void loadActivity (Context ActivityContext)
    {
        var second = new Intent(ActivityContext, typeof(LocationDetailsActivity));
        second.PutExtra("FirstData", "Data from FirstActivity");
        StartActivity (second);
    }
当从
MapWithOverlayActivity:MapActivity
类调用时,此代码工作正常。我想在调用映射标记的
OnTap
方法时,从
MapItemizedOverlay:ItemizedOverlay
类调用它

我已尝试使该方法保持静态。以下是我的代码:

    static public void loadActivity (Context ActivityContext)
    {
        var second = new Intent(ActivityContext, typeof(LocationDetailsActivity));
        second.PutExtra("FirstData", "Data from FirstActivity");
        StartActivity (second);
    }
但是,我现在得到了以下错误:
非静态字段、方法或属性Android.Content.Context.StartActivity(Android.Content.Intent)需要对象引用。


请告诉我为什么这不起作用的一些信息,以及让它起作用的一些帮助。

如果有帮助,您可以使用Android的全局应用程序对象。下面是一个例子:

public class MyApp extends Application{
    private String foo = null;

    public String getFoo(){
        return foo;
    }
}

public class MyActivity extends Activity {
    private MyApp app;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        app = ((MyApp)getApplication());

        String thing = app.getFoo();
    }
}

如果您需要从任何地方访问该方法,您可以用您的意图替换getFoo方法:)我认为它应该可以工作。申请参考是

谢谢您的信息。如果可能的话,你能解释一下我问题中的错误是什么意思吗?以及如何使其工作。所需的“对象引用”是什么?您是否尝试过MapItemizeOverlay.this.loadActivity?我不完全确定如何调用静态方法?