Android如何添加控件监听器(三种方式)
本文概述:
本文介绍了,在Android中为控件添加监听的三种常见方式
- 设置控件的onClick属性
- 采用匿名内部类
- MainActivity 实现 View.OnClickListener 接口
方式一:在布局中添加onClick属性
编写思路:
在布局文件中:
- 指定控件 id
- 指定控件onClick属性
在MainActivity中:
- 在onCreate中拿到控件实例
- 在onCreate之外,创建监听方法(方法名与前面设置的onClick属性相同)
布局代码:指定控件的onClick属性(已经被废弃掉了)
<Button …… android:id="@+id/button" android:onClick="buttonClick" …… />Activity代码:
public class MainActivity extends AppCompatActivity { private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); //获取控件示例 button = findViewById(R.id.button); } public void buttonClick(View view) { setToast("点击了button按钮"); } public void setToast(String string){ Toast.makeText(this,string,Toast.LENGTH_SHORT).show(); } }运行结果:可不可以限定Toast的提示位置?比如说将Toast放在中间去

方式二:采用匿名内部类
编写思路:
在布局文件中:指定控件 id
在MainActivity中
在onCreate内:
- 获取控件实例
- 为控件添加监听(使用匿名内部类重写onClick方法)
布局代码:此时不能设置onClick属性
<Button …… android:id="@+id/button" …… />Java 代码
public class MainActivity extends AppCompatActivity { private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); //获取控件示例 button = findViewById(R.id.button); //添加监听 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { setToast("点击了按钮"); } }); } public void setToast(String string){ Toast.makeText(this,string,Toast.LENGTH_SHORT).show(); } }运行结果:

方式三:MainActivity 实现 View.OnClickListener 接口
编写思路:
在布局文件中:
- 指定控件 id
在MainActivity声明处:实现 View.OnClickListener 接口
在MainActivity中:
在onCreate方法内:
- 拿到控件实例
- 为控件注册监听器
在onCreate方法外:重写onClick方法
布局代码:
<Button …… android:id="@+id/button" …… />MainActivity 代码
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); //获取控件示例 button = findViewById(R.id.button); //为控件注册监听器 button.setOnClickListener(this); } public void setToast(String string){ Toast.makeText(this,string,Toast.LENGTH_SHORT).show(); } @Override public void onClick(View view) { setToast("按钮被点击了"); } }运行效果:

到此这篇关于Android如何添加控件监听器(三种方式)的文章就介绍到这了,更多相关Android 控件监听器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Android Studio报错unable to access android sdk add-on list解决方案
这篇文章主要介绍了Android Studio报错unable to access android sdk add-on list解决方案,本文通过多种方式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-03-03
Android使用PullToRefresh完成ListView下拉刷新和左滑删除功能
ListView下刷新刷功能相信从事Android开发的猿友们并不陌生,本文就带领一些刚入门android的朋友或者一起爱分享的朋友来简单的实现ListView的下拉刷新和左滑删除效果。感兴趣的朋友一起看看吧2016-11-11
Android Studio搜索功能(查找功能)及快捷键图文详解
这篇文章主要介绍了Android Studio搜索功能(查找功能)及快捷键图文详解,本文图文并茂给大家介绍的非常详细,需要的朋友可以参考下2017-12-12
Android自定义ListView实现下拉刷新上拉加载更多
Listview现在用的很少了,基本都是使用Recycleview,但是不得不说Listview具有划时代的意义,我们可以自己添加下拉刷新,上拉加载更多功能。本文就来利用自定义ListView实现下拉刷新上拉加载更多效果,需要的可以参考一下2022-10-10
深入浅出RxJava+Retrofit+OkHttp网络请求
本篇文章主要介绍了深入浅出RxJava+Retrofit+OkHttp网络请求,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-11-11
Android 自定义imageview实现图片缩放实例详解
这篇文章主要介绍了Android 自定义imageview实现图片缩放实例详解的相关资料,需要的朋友可以参考下2017-04-04
Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法
这篇文章主要介绍了Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法的相关资料,需要的朋友可以参考下2017-04-04




最新评论