谁能解释如何访问另一个活动的公共属性。我从第一个活动调用第二个活动,并设置了一些公共属性,如下所示。然而,如果涉及到这些行:
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;
}
}
myDog
和myText
是静态属性。这意味着每个应用程序只有一个实例,无论您有多少个SecondActivity
实例。
可以使用类名访问它们,即SecondActivity.myDog
和SecondActivity.myText
.如果要具有不同的myDog
实例,则每个SecondActivity
myText
,只需删除static
标签即可。