Android Button 注册点击事件

古人已用三冬足,年少今开万卷余。这篇文章主要讲述Android Button 注册点击事件相关的知识,希望能为你提供帮助。
android Button控件处理点击事件
总共有四种方式
第一种,个人认为最方便的一种,像html和JS那样直接注册

< Button android:id=" @+id/btn" android:layout_width=" match_parent" android:layout_height=" wrap_content" android:text=" BUTTON" < !-- 在这里注册了onClick的回调函数 --> android:onClick=" clicked" />

然后到Activity实现这个方法
public void clicked(View view) { // 需要执行的代码 }

第二种,通过在Activity中实现点击事件的接口,然后绑定其中onClick方法到指定的Button
public class MainActivity extends AppCompatActivity implements View.OnClickListener {@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 根据id访问到指定的Button控件 Button btn = findViewById(R.id.btn); // 注册点击监听,然后this指针会让它自己找到当前Activity下的onClick方法 btn.setOnClickListener(this); }@Override public void onClick(View v) { // 需要执行的代码 } }

第三种,不整体实现点击方法,而是在需要的时候直接实现方法
public class MainActivity extends AppCompatActivity {@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = findViewById(R.id.btn); // 等于一个匿名内部类的形式 btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 需要执行的代码 } }); } }

【Android Button 注册点击事件】第四种, 创建一个内部类,再和Button绑定其实例的对象
public class MainActivity extends AppCompatActivity {@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = findViewById(R.id.btn); MyClickListener cli = new MyClickListener(); btn.setOnClickListener(cli); } class MyClickListener implements View.OnClickListener { @Override public void onClick(View view) { // 需要执行的代码 } } }


    推荐阅读