我创建了activity1
并从activity2
调用了activity1
。现在我希望将activity1
的函数调用activity2
并且无需初始化activity1
“以避免再次重新创建activity 1
。我想知道我的第二个活动的callfirst()
中的代码
这是我的主要活动
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.Main);
Button button1 = FindViewById<Button> (Resource.Id.myButton1);
button1.Click += (object sender, EventArgs e) => firstload ();
}
protected override void OnSaveInstanceState (Bundle outState)
{
base.OnSaveInstanceState (outState);
}
public void firstload()
{
StartActivity(typeof(first));
}
这是我的第一个活动
public class first : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.first);
Button btn = FindViewById<Button>(Resource.Id.btnfirst);
btn.Click += (object sender, EventArgs e) => loadsecond();
}
public void loadsecond()
{
StartActivity (typeof(second));
}
public void message()
{
Toast.MakeText (this, "fxn of activityfirst called from activitysecond", ToastLength.Short).Show ();
}
}
这是我的第二项活动
public class second : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.second);
Button btn = FindViewById<Button> (Resource.Id.btnsecond);
btn.Click += (object sender, EventArgs e) => callfirst();
}
public void callfirst()
{
//what should i do here ???
}
}
答案 0 :(得分:1)
如果你需要使用一些常用函数和全局变量,最好创建一个包含它们的类 - 比如Globals.java
。你可以在那里拥有全局变量:
public static String someGlobalString = "";
public static void someGlobalFunction(){ };
您可以使用以下代码调用它们:
Globals.someGlobalString = "some value";
Globals.someGlobalFunction();
答案 1 :(得分:0)
创建该方法static并使用该类名调用本身coz静态方法和变量从该类名本身调用
答案 2 :(得分:0)
a您确实可以为此目的使用静态方法,但不应将静态方法的活动用于其他活动。这不是他们应该如何工作的。它们应该是可以使用Binder框架将消息相互传递的独立实体。如果您确实需要访问相同的方法,那么只需创建另一个具有两种活动的静态方法的类。