古人已用三冬足,年少今开万卷余。这篇文章主要讲述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) {
// 需要执行的代码
}
}
}
推荐阅读
- 报错Could not find resource cn/smbms/dao/provider/ProviderMapper.xml
- APP测试要点整理
- MyBatis - Mapper动态代理开发
- POJ3321 Apple Tree 题解
- .net core启用 autoMapper
- 从0开始不断温习,Android基础篇
- AndroidStudio使用的kotlin简介
- Appium(java环境AndroidSDK环境)
- Android实现图片一边的三角形边框