关于android的setOnClickListener()的简单查询

时间:2012-07-10 21:30:43

标签: android

View  firstButton   = findViewById ( R.id.button1 );    
firstButton.setOnClickListener(this);     
View secondButton = findViewById(R.id.button2);    
secondButton.setOnClickListener(this);

在代码中,this关键字引用的内容作为setOnClickListener()

的参数传递

2 个答案:

答案 0 :(得分:3)

它将是Activity的当前实例。 (我猜也可能是View

最终,this指的是它所在的类的实例。

答案 1 :(得分:2)

'this'始终是对当前实例的引用,即当前正在执行的方法所属的实例。因此,如果当前正在执行的方法是Activity类的方法,那么'this'指的是此Activity类的实例。

更重要的是,特别是关于setOnClickListener,'this'应该引用一个实例,无论其确切类型如何,它都实现View.OnClickListener接口(因此表现为一个监听器点击事件)。这是因为Button.setOnClickListener特别期望'OnClickListener' - 点击事件的监听器 - 作为参数。该方法的签名是:

void Button.setOnClickListener(View.OnClickListener l)