四种点击事件


在控件中直接添加一个点击事件:

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/callNumber"
    android:layout_below="@id/number"
    android:onClick="call"/>



在Java代码中获取控件,然后设置事件监听器,这里用的是匿名对象:

public class MainActivity extends AppCompatActivity {

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

    private void addClick() {
        Button button =(Button) findViewById(R.id.btn);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                System.out.println("在这个里面添加处理逻辑");
            }
        });
    }
}


那么问题来了,我在布局文件中设置了事件,又在Activity中的方法中用代码添加了事件,到时候这个事件到底是执行哪个呢?


或者是Activity实现了OnClickListener接口,然后在Activity里面,据说这种方法用的还挺多的:

Button button =(Button) findViewById(R.id.btn);
button.setOnClickListener(this);



又可以是内部的匿名类,这个类实现了OnClickListener接口。

原文地址:https://www.cnblogs.com/tuhooo/p/7883035.html