在各种活动中,我都有非常相似的方法.
例如:
@OverrIDepublic voID onClick(VIEw v) { switch (v.getID()) { case R.ID.ibHome: Intent menuIntent = new Intent(v.getContext(),Menu.class); startActivity(menuIntent); break; }}
和
@OverrIDepublic voID onClick(VIEw v) { /** */ // switch(v.getID()){ case R.ID.bNew: Intent newSwimmerIntent = new Intent(v.getContext(),NewSwimmer.class); startActivity(newSwimmerIntent); break;case R.ID.ibHome: Intent menuIntent = new Intent(v.getContext(),Menu.class); startActivity(menuIntent); break;
有没有一种方法(我假设将使用继承)来防止menuIntent在每个类中明确声明?
谢谢.
解决方法:
您可以使用继承,但实际上可能不是最佳选择,特别是如果两个活动不是直接以“ Is-A”关系关联的话.
在这种情况下,最好声明一个实现OnClickListener接口的新类.然后,您可以实例化该类,并将其绑定到按钮的单击事件,无论它们在何处使用.
这是一个例子:
public class HomebuttonHandler implements OnClickListener{ @OverrIDe public voID onClick(VIEw v) { Intent menuIntent = new Intent(v.getContext(),Menu.class); v.getContext().startActivity(menuIntent); } }
在您的活动中,您可以将HomebuttonHandler绑定到按钮的onClickListner上:
homebutton.setonClickListener(new HomebuttonHandler());
总结 以上是内存溢出为你收集整理的在Java中,如何使用继承简化代码? (Android开发.)全部内容,希望文章能够帮你解决在Java中,如何使用继承简化代码? (Android开发.)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)