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)

然后你可以在方法中写下按下按钮时你想要做什么