Android Button响应事件两种实现方法及优劣比较
2023-09-11 14:15:13 时间
效果:
第一种方法:在activity_main.xml文件中注册点击事件
比如定义了btn1:
<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="188dp"
app:layout_constraintEnd_toEndOf="parent"
android:onClick="btn1Click"
/>
xml中增加:android:onClick="btn1Click"
然后在MainActivity.java 中实现此方法即可
public class MainActivity extends AppCompatActivity {
//btn1点击事件
public void btn1Click(View v) {
//创建一个弹出对话框
new AlertDialog.Builder(MainActivity.this)
.setTitle("提示信息")
.setMessage("您刚刚点击了:"+R.id.btn1)
.setPositiveButton("确定",null)
.show();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//View btn=findViewById(R.id.btn1);
}
}
第二种:直接在MainActivity.java onCreate方法中注册点击事件并实现方法,xml布局文件中不需要android:onClick="btn1Click"
代码如下:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View btn = findViewById(R.id.btn1);
//点击事件
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new AlertDialog.Builder(MainActivity.this)
.setTitle("提示信息")
.setMessage("您刚刚点击了:"+R.id.btn1)
.setPositiveButton("确定", null)
.show();
}
});
}
}
*推荐使用第一种方法,代码比较干净清爽直观易懂,特别是大型app中。不可能所有事件实现方法都写到OnCreate事件中去
相关文章
- Android开发之布局文件里实现OnClick事件关联处理方法
- Android 异常 android.os.NetworkOnMainThreadException
- Android触碰事件
- Android 四大组件学习之ContentProvider三
- Android中startService的使用及Service生命周期
- 阅读《Android 从入门到精通》(33)——Intent 分类
- 解决android模拟器太大,小屏幕无法完全显示的问题
- Android--ListPreference的使用
- 了解Android触摸事件原理(InputManagerService)
- [Android开发] 重学Android-EditText的进阶操作
- android常见错误-The container 'Android Dependencies' references non existing library
- 开发常用的 Android 函数库
- 《精通Android 5 多媒体开发》——第6章,第6.2节分析硬件抽象层
- android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)
- Android 自定义View——自定义点击事件
- Android 仿PhotoShop调色板应用(三) 主体界面绘制
- android事件拦截处理机制详解
- android事件传递机制以及onInterceptTouchEvent()和onTouchEvent()详解二之小秘与领导的故事
- Android如何监听蓝牙耳机的按键事件
- 关于android 双击事件
- android 设置EditText光标位置
- Android开发怎么让自己的APP UI漂亮、大方(规范篇一)
- Android Studio报错:Could not find method android() for arguments
- Framework事件机制—Android事件处理的三种方法
- android学习之4种点击事件的响应方式
- 【Android】程序设计 ——记账App项目android移动端的实现
- Android事件总线(二)EventBus3.0源码解析
- android 事件反拦截
- android AChartEnginee解说之源代码框架解读
- Android apk压缩技术(一)——巧用shape