C# Android启动活动
我正在使用MonoDevelop for Android和MapsAndlocationDemo,我有一个关于启动另一个活动的问题 这是我的密码: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
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?我不完全确定如何调用静态方法?