如何确定触发IOnClickListener的onClick来源?
我有SetOnClickListener的初始化
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);
}
}
答案 0 :(得分:1)
在OnClick方法中,使用View v放置一个switch case,并指定具有分配给所述视图的特定id的个案。
答案 1 :(得分:1)
我得到了答案! :D感谢@Mike :)虽然有些评论并不是真的存在于C#中(可能它是一个Android编码),但它有帮助!
获取由v.Id在View中发送的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);
}
}
<强> CHEERS !!! 强>