[英]how to launch activity setting only one onclicklistener
So i have this code and i want to avoid setting the onclicklistener method for every button i have . 所以我有这段代码,我想避免为我拥有的每个按钮设置onclicklistener方法。 is there a way to avoid doing that ??
有办法避免这样做吗?
@Override
public void onClick(View v) {
Intent jus = new Intent (Home.this,jus.class);
startActivity(jus);
}
});
sweets.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent sweets = new Intent (Home.this,sweets.class);
startActivity(sweets);
}
});
patisserie.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent patisserie = new Intent (Home.this,patisserie.class);
startActivity(patisserie);
}
});
Try this.. 尝试这个..
Your Activity must implements OnClickListener
您的活动必须
implements OnClickListener
Inside OnCreate()
里面的
OnCreate()
sweets.setOnClickListener(this);
patisserie.setOnClickListener(this);
then after OnCreate()
然后在
OnCreate()
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.sweetsbuttonid:
// do stuff related sweets click
break;
case R.id.patisseriebuttonid:
// do stuff related patisserie click
break;
}
}
You can make a class that implements OnClickListener that you can accept a Intent parameter to with pre-set activity. 您可以创建一个实现OnClickListener的类,该类可以通过预设活动接受Intent参数。 THat way the parameter activity will be started but the listeners will all be instances of the same parent.
通过这种方式可以启动参数活动,但是侦听器将都是同一父对象的实例。 No need to re-write code.
无需重新编写代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.