Android:无法理解OnClickListener语法

时间:2014-05-20 02:08:50

标签: android onclicklistener

在代码中:

button.setOnClickListener(new Button.OnClickListener() {

    public void onClick(View v){
        ...         
    }

});

button.setOnClickListener函数调用中,我们是否(1)创建新的Button对象,(2)调用新的Button对象&#39 ; s OnClickListener和(3)定义一个新类?为什么在函数调用中发生了这么多?有没有办法简化这段代码(例如,可能在外面单独定义类并将实例传递给此函数或类似的东西)?

2 个答案:

答案 0 :(得分:1)

setOnClickListener的参数只有一个实例,它是OnClickListener类(恰好在Button类中定义,这就是你编写Button.OnClickListener的原因)。   所以(1)没有发生(你只是创建一个新的OnClickListener对象); (2)也没有发生,因为OnClickListener不是一个方法; (3)正在发生,它是OnClickListener类的一个匿名子类。

可以为OnClickListener子类创建一个命名类,只是有时更容易将动作代码放在定义按钮的代码旁边。在那里,您可以轻松引用该范围内的变量。   但是使它成为命名类允许您在其他按钮中重用代码。

答案 1 :(得分:-1)

请按照以下步骤操作  1.在活动中实现onclickListner  2.覆盖onClick方法,你应该在任何你想要的地方编写你的代码  3.按钮

上的setOnClickListener