我目前正在Android上制作一个简单的计算器应用程序.我试图设置代码,以便当按下数字按钮时,它会用该数字更新计算器屏幕.目前我这样做.
button one = (button) findVIEwByID(R.ID.onebutton); one.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { TextVIEw output = (TextVIEw) findVIEwByID(R.ID.output); output.append("1"); } });
它可以工作,但我正在为计算器上的每个按钮编写相同的代码.你可以想象它是多余的.无论如何我能以更有效的方式编写这段代码吗?一个涉及不为每个按钮编写此方法的人?
解决方法:
您只需按照以下步骤轻松实现……
您不必为每个按钮编写新的onClickListener …只需将VIEw.OnClickLister实现到您的Activity / Fragment ..它将实现名为onClick()的新方法,用于处理button,TextVIEw等的onClick事件.
ImplementOnClickListener()
in yourActivity
/Fragment
public class MainActivity extends Activity implements VIEw.OnClickListener {}
Implement onClick() method in your Activity/Fragment
public class MainActivity extends Activity implements VIEw.OnClickListener { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @OverrIDe public voID onClick(VIEw v) { // default method for handling onClick Events.. }}
Implement OnClickListener()
For buttons
@OverrIDeprotected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.your_layout); button one = (button) findVIEwByID(R.ID.onebutton); one.setonClickListener(this); // calling onClick() method button two = (button) findVIEwByID(R.ID.twobutton); two.setonClickListener(this); button three = (button) findVIEwByID(R.ID.threebutton); three.setonClickListener(this);}
Find buttons By ID and Implement Your Code..
@OverrIDepublic voID onClick(VIEw v) { switch (v.getID()) { case R.ID.onebutton: // do your code break; case R.ID.twobutton: // do your code break; case R.ID.threebutton: // do your code break; default: break; }}
有关更多信息,请参阅此链接:
https://androidacademic.blogspot.in/2016/12/multiple-buttons-onclicklistener-android.html
这样可以更轻松地处理许多按钮点击事件,并使管理它看起来很简单……
总结以上是内存溢出为你收集整理的多个按钮的OnClickListener()android全部内容,希望文章能够帮你解决多个按钮的OnClickListener()android所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)