当前位置: 代码迷 >> 综合 >> loginButton.setOnClickListener(this);这里为什么要用this呢?
  详细解决方案

loginButton.setOnClickListener(this);这里为什么要用this呢?

热度:6   发布时间:2024-01-13 04:07:44.0

loginButton.setOnClickListener(this);这里为什么要用this呢?

我有点不理解为什么这里用一个this就调用了onClick这个方法呢?

 

一般来说,android中的接口回调有3中。

1、 主程序回调

默认的这种this,结果就是 在 Activity 后面 跟了个  implements OnClickListener,然后根据提示,会自动在下面出现一个新的方法 onclick(),是单独的一个方法。

2、内部类格式的

mybtn.setOnClickListener(     后面 写个new  再用快捷键自动补全,会形成

mybtn.setOnClickListener(new View.OnClickListener() {

然后 工具又会自动补全为,

mybtn.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {

   }
});

3、自定义接口

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);

   mybtn = (Button) findViewById(R.id.id_btn);
   mybtn.setOnClickListener(new myClick());
}


public class myClick implements View.OnClickListener {

   @Override
   public void onClick(View v) {
       
   }
}