0

我创建activity1activity2从中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 ???
    }

}

4

3 回答 3

1

如果您需要使用一些常用函数和全局变量,最好创建一个包含它们的类 - 像Globals.java. 在那里你可以有你的全局变量:

public static String someGlobalString = "";
public static void someGlobalFunction(){ };

您可以从您的代码中调用它们,例如:

Globals.someGlobalString = "some value";
Globals.someGlobalFunction();
于 2013-10-31T08:54:32.157 回答
0

a您确实可以为此目的使用静态方法,但您不应该将活动用于静态方法以供其他活动使用。这不是他们应该如何工作的。它们应该是独立的实体,可以使用 Binder 框架相互传递消息。如果您确实需要访问相同的方法,那么只需创建另一个类,该类具有可用于两个活动的静态方法。

于 2013-10-31T08:50:43.730 回答
0

创建该方法静态并使用该类名本身调用因为静态方法和变量是从该类名本身调用

于 2013-10-31T08:46:08.173 回答