如何访问活动公共属性



谁能解释如何访问另一个活动的公共属性。我从第一个活动调用第二个活动,并设置了一些公共属性,如下所示。然而,如果涉及到这些行:

string doggy =  nextActivity.myDog;         //myDog prop not accessible from here
string text = nextActivity.myText;          //myText prop not accessible from here

这些属性不可访问。你能告诉我我做错了什么,应该在 xamarin 中以不同的方式完成吗?

[Activity(Label = "FirstActivity")]
public class FirstActivity : Activity
{
private void BtnStart_Click(object sender, EventArgs e)
{
Intent nextActivity = SecondActivity.CreateIntent(this, new Dog() {Ngnameofdog = "Sonia"}, 100 );
StartActivity(nextActivity);
string doggy =  nextActivity.myDog;          //myDog prop not accessible from here
string text = nextActivity.myText;           //myText prop not accessible from here
}
}
[Activity(Label = "SecondActivity")]
public class SecondActivity : Activity
{
public static Dog myDog { get; set; }
public static string myText { get; set; }
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.third);
}
public static Intent CreateIntent(Context context, Dog dog, int rowID)
{
Intent nextActivity = new Intent(context, typeof(SecondActivity));
myDog = new Dog("Sonia");
myText = rowID.ToString();
return nextActivity;
}
}

myDogmyText是静态属性。这意味着每个应用程序只有一个实例,无论您有多少个SecondActivity实例。

可以使用类名访问它们,即SecondActivity.myDogSecondActivity.myText.如果要具有不同的myDog实例,则每个SecondActivitymyText,只需删除static标签即可。

最新更新