Android启动活动
本文关键字:活动 启动 Android | 更新日期: 2023-09-27 17:49:35
我正在使用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);
}
然而,我现在得到以下错误:An object reference is required for the non-static field, method or property Android.Content.Context.StartActivity(Android.Content.Intent)
我可以有一些信息,为什么这不起作用,和一些帮助使它工作。
如果有用的话,你可以使用Android的全局Application对象。下面是一个例子:
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方法:)我认为它应该工作。应用参考在这里