多个按钮的OnClickListener()android [英] Multiple Buttons' OnClickListener() android
问题描述
我目前正在Android上制作一个简单的计算器应用程序.我试图设置代码,以便当按下数字按钮时,它将使用该数字更新计算器屏幕.目前,我正在这样做.
I'm currently making a simple calculator app on Android. Im trying to set up the code so that when a number button is pressed it updates the calculator screen with that number. Currently I'm doing it like this.
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");
}
});
它可以工作,但是我正在为计算器上的每个按钮编写相同的代码.可以想象,这是非常多余的.无论如何,我可以以更有效的方式编写此代码吗?一个涉及不为每个按钮编写此方法的方法?
It works but I'm writing this same code for every single button on the calculator. As you can imagine it is very redundant. Is there anyway I can write this code in a more efficient way? One that involves not writing this method for every single button?
推荐答案
您只需遵循以下步骤即可简化操作...
You Just Simply have to Follow these steps for making it easy...
您不必为每个Button
编写新的onClickListener
...只需在Activity
/Fragment
中实现View.OnClickLister
.它将实现一个名为onClick()
的新方法来处理onClick Button
,TextView`等的事件
You don't have to write new onClickListener
for Every Button
... Just Implement View.OnClickLister
to your Activity
/Fragment
.. it will implement new Method called onClick()
for handling onClick Events for Button
,TextView` etc.
- 在您的
Activity
/Fragment
中实施
OnClickListener()
- Implement
OnClickListener()
in yourActivity
/Fragment
public class MainActivity extends Activity implements View.OnClickListener {
}
- 在活动/片段"中实现onClick()方法
- 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..
}
}
- 对按钮执行
OnClickListener()
@Override
protected 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);
}
- 按ID查找按钮并实现您的代码.
- Find Buttons By Id and Implement Your Code..
@Override
public 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;
}
}
请参阅此链接以获取更多信息:
Please refer to this link for more information :
https://androidacademic.blogspot.in/2016/12/multiple-buttons-onclicklistener-android.html
这将使许多按钮单击事件的处理变得更加容易,并且使其易于管理...
This will make easier to handle many buttons click events and makes it looks simple to manage it...
这篇关于多个按钮的OnClickListener()android的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!