onclick听众(这个)是什么意思?
btn_Login.setOnClickListener(this);
在android工作室。
我在无数的地方见过这个。 这是什么意思? 我知道this
是如何运作的,但当时的听众是什么?
此示例来自: 链接
假设您有16个按钮,并且每个按钮都有setOnclicklistener
这意味着您在类中创建了许多类似代码的重复。 这会使你的代码变得丑陋,这也不是编写代码的有效方法。 因此,为了使代码高效,您必须在活动上实现OnClickListener()
,然后对每个按钮使用buttonX.setOnClickListener(this)
。 现在使用覆盖onClick
方法。 在此方法中,您可以使用Switch case块或if else来识别按下哪个按钮。 所以在onClick
方法中你只需要给出按钮的id。
在Activity中实现OnClickListener
public class MyActivity extends Activity implements View.OnClickListener { }
对于每个按钮使用此:
buttonX.setOnClickListener(this);
在此工具覆盖onClick
方法之后
@Override public void onClick(View view) { switch(view.getId){ case R.id.buttonX: // Do something }
在那个例子中它的定义就像这个私人按钮btn_Login;
Button是一个类onClickListener是一个监听器,用于设置他正在使用setOnClickListener方法的监听器。
从下一次如果你需要那些澄清不要在一个单独的post中发帖,在这个问题本身添加评论。
谢谢@august alsina
它是一个侦听器,可帮助指定单击窗口小部件时发生的事件。
当您的类实现View.OnClickListener时,您可以在方法public void onClick(View v)
定义单击每个按钮。 关键字this
是指方法onclick 。 当您的类文件中有很多按钮时,最好使用这种方式。 您可以在Create方法上定义以下代码:
button1.setOnClickListener(this); button2.setOnClickListener(this);
并定义其定义oncreate方法。 例如:
public void onClick(View v){ int id= v.getId(); switch (id){ case R.id.btn1: { //do sth //break; } case R.id.btn2: { //do sth //break; } ... } }
用外行人的话说
通过编写btn_Login.setOnClickListener(this);
每当btn_login被按下时,程序将转到onclick方法public void onClick(View v)
然后你可以在方法中写下按下按钮时你想要做什么