C# 2 c中SetOnClickListener的源代码#
如何确定IOnClickListener的单击是从哪个源触发的 我对SetOnClickListener进行了初始化C# 2 c中SetOnClickListener的源代码#,c#,android,xamarin,onclicklistener,C#,Android,Xamarin,Onclicklistener,如何确定IOnClickListener的单击是从哪个源触发的 我对SetOnClickListener进行了初始化 private void setUpListener() { changePassword.SetOnClickListener(this); forgotPassword.SetOnClickListener(this); } 我想发生的是 public void OnClick(View v) {
private void setUpListener()
{
changePassword.SetOnClickListener(this);
forgotPassword.SetOnClickListener(this);
}
我想发生的是
public void OnClick(View v)
{
if(source == changePassword)
{
Intent intent = new Intent(this, typeof(ChangePassword));
StartActivity(intent);
}
else if(source == forgotPassword)
{
Intent intent = new Intent(this, typeof(ForgotPassword));
StartActivity(intent);
}
}
在OnClick方法中,将开关盒与视图v放在一起,并使用分配给所述视图的特定id指定开关盒。在OnClick方法中,将开关盒与视图v放在一起,并使用分配给所述视图的特定id指定开关盒。我得到了答案!:D感谢@Mike:)虽然有些评论在C#中并不存在(可能是android编码),但它还是有帮助的 让v.id发送的id进入视图非常好 然后使用Resource.ID.txtChangePassword将其与我的textView ID进行比较,使其运行 这是我的代码
public void OnClick(View v)
{
int id = v.Id; //get id here
if (id == Resource.Id.txtChangePassword) //comparison
{
Intent intent = new Intent(this, typeof(ChangePassword));
intent.PutExtra(IntentExtras.activitySourceSerialized, JsonConvert.SerializeObject(Strings.loginActivity));
StartActivity(intent);
}
else if(id == Resource.Id.txtForgotPassword) //comparison
{
Intent intent = new Intent(this, typeof(ForgotPassword));
intent.PutExtra(IntentExtras.activitySourceSerialized, JsonConvert.SerializeObject(Strings.loginActivity));
StartActivity(intent);
}
}
干杯我得到了答案!:D感谢@Mike:)虽然有些评论在C#中并不存在(可能是android编码),但它还是有帮助的 让v.id发送的id进入视图非常好 然后使用Resource.ID.txtChangePassword将其与我的textView ID进行比较,使其运行 这是我的代码
public void OnClick(View v)
{
int id = v.Id; //get id here
if (id == Resource.Id.txtChangePassword) //comparison
{
Intent intent = new Intent(this, typeof(ChangePassword));
intent.PutExtra(IntentExtras.activitySourceSerialized, JsonConvert.SerializeObject(Strings.loginActivity));
StartActivity(intent);
}
else if(id == Resource.Id.txtForgotPassword) //comparison
{
Intent intent = new Intent(this, typeof(ForgotPassword));
intent.PutExtra(IntentExtras.activitySourceSerialized, JsonConvert.SerializeObject(Strings.loginActivity));
StartActivity(intent);
}
}
干杯让我试试看哦,还有一件事,请确保在交换机中使用v.GetId(没有GetId:)但是,谢谢:)我现在正在尝试您的第一个答案。v、 Id是存在的虽然是的v.Id然后在你的情况下使用R.Id.change\u密码让我试试哦还有一件事确保在开关中使用v.GetId没有GetId:)但是谢谢:)我现在尝试你的第一个答案。v、 Id是现有的,尽管是v.Id,但在您的情况下,请使用R.Id.change\u密码