iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在Android中利用Activity实现一个监听器
  • 486
分享到

怎么在Android中利用Activity实现一个监听器

2023-06-14 12:06:34 486人浏览 薄情痞子
摘要

怎么在Android中利用Activity实现一个监听器?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Activity在Activity中,使用findViewById(int

怎么在Android中利用Activity实现一个监听器?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

Activity

在Activity中,使用findViewById(int resId)方法与布局中的控件绑定

View常用事件接口

View的事件监听是指用户与应用交互,当用户对View进行点击、长按、触摸、移动等动作时、程序对这些动作进行处理

OnClickListener    点击View时的监听
OnLonGClickListener  长按View时的监听
OnTouchListener   触摸View时的监听

android系统中,OnClickListener 是一种处理点击事件的接口

public void onClick(View v){//参数v为事件源控件,当长时间按下此控件时才会触发该方法。//当多个组件共用同一个监听器时,用来区分组件}

在android应用中,OnLongClick事件表示长按2秒以上触发的事,OnLongClickListener接口与OnClickListener接口
原理基本相同,只是该接口为View长按事件的捕捉接口,即当长时间按下某个View时触发的事件该接口对应的回调方法
如下:

public void onLongClick(View v){//参数v为事件源控件,当长时间按下此控件时才会触发该方法//当多个组件共用同一个监听器时,用来区分组件//返回值:该方法返回值是一个boolean类型的变量//当返回true时,表示完整的处理了这个事件,并不希望其他的回调方法再次进行处理//当返回false时,表示并没有完成处理该事件,希望其他方法继续对其进行处理。}

需要记住以下几点:

  • 监听器是一个接口,它包含了一个事件触发时系统会去调用的函数

  • 在实现类中,根据你的项目重写这个函数

  • 实现后的监听器需要绑定到按钮上,就像一个耳机可以发出声音,但你可以不去戴它,你是听不到它发出的声音的。

一般的情况是这个View可能需要这个监听器,而另外一个View需要另外一个监听器,每个监
听器各司其职,但功能相似时,也可以多个按钮共同绑定一个监听器。

  • 各种控件,都有常用的事件,绑定监听器的函数命名规则是setOn ** Listener

设置监听的几种方法

1)让Activity实现接口

public class MainActivity extends Activity implements OnClickListener{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button back = (Button) findViewById(R.id.back);back.setOnClickListener(this);}@Overridepublic void onClick(View v) {//点击事件}}

2) 匿名内部类

 public class MainActivity extends Activity {        @Override        protected void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_main);            Button back = (Button) findViewById(R.id.back);            back.setOnClickListener(new OnClickListener() {                @Override                public void onClick(View v) {                    //点击事件                     //DoSomething                }            });        }    }

3) onClick可以在xml中设置

  <Button  android:id="@+id/back"  android:onClick="buttonClick"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:layout_weight="1"  android:text="←" />//然后在代码中建立点击事件方法//必须是public void 名称同android:onClick(View v)  public void buttonClick(View v){  //点击事件  }

4) 实现类

 public class MyClick implements OnClickListener {        @Override        public void onClick(View v) {            //点击事件        }    }    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button back = (Button) findViewById(R.id.back);        MyClick listener = new MyClick();        back.setOnClickListener(listener);    }

5) 成员变量

 private OnClickListener listener = new OnClickListener() {        @Override        public void onClick(View v) {            //点击事件        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button back = (Button) findViewById(R.id.back);        back.setOnClickListener(listener);    }

看完上述内容,你们掌握怎么在Android中利用Activity实现一个监听器的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: 怎么在Android中利用Activity实现一个监听器

本文链接: https://www.lsjlt.com/news/270805.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++ 生态系统中流行库和框架的贡献指南
    作为 c++++ 开发人员,通过遵循以下步骤即可为流行库和框架做出贡献:选择一个项目并熟悉其代码库。在 issue 跟踪器中寻找适合初学者的问题。创建一个新分支,实现修复并添加测试。提交...
    99+
    2024-05-15
    框架 c++ 流行库 git
  • C++ 生态系统中流行库和框架的社区支持情况
    c++++生态系统中流行库和框架的社区支持情况:boost:活跃的社区提供广泛的文档、教程和讨论区,确保持续的维护和更新。qt:庞大的社区提供丰富的文档、示例和论坛,积极参与开发和维护。...
    99+
    2024-05-15
    生态系统 社区支持 c++ overflow 标准库
  • c++中if elseif使用规则
    c++ 中 if-else if 语句的使用规则为:语法:if (条件1) { // 执行代码块 1} else if (条件 2) { // 执行代码块 2}// ...else ...
    99+
    2024-05-15
    c++
  • c++中的继承怎么写
    继承是一种允许类从现有类派生并访问其成员的强大机制。在 c++ 中,继承类型包括:单继承:一个子类从一个基类继承。多继承:一个子类从多个基类继承。层次继承:多个子类从同一个基类继承。多层...
    99+
    2024-05-15
    c++
  • c++中如何使用类和对象掌握目标
    在 c++ 中创建类和对象:使用 class 关键字定义类,包含数据成员和方法。使用对象名称和类名称创建对象。访问权限包括:公有、受保护和私有。数据成员是类的变量,每个对象拥有自己的副本...
    99+
    2024-05-15
    c++
  • c++中优先级是什么意思
    c++ 中的优先级规则:优先级高的操作符先执行,相同优先级的从左到右执行,括号可改变执行顺序。操作符优先级表包含从最高到最低的优先级列表,其中赋值运算符具有最低优先级。通过了解优先级,可...
    99+
    2024-05-15
    c++
  • c++中a+是什么意思
    c++ 中的 a+ 运算符表示自增运算符,用于将变量递增 1 并将结果存储在同一变量中。语法为 a++,用法包括循环和计数器。它可与后置递增运算符 ++a 交换使用,后者在表达式求值后递...
    99+
    2024-05-15
    c++
  • c++中a.b什么意思
    c++kquote>“a.b”表示对象“a”的成员“b”,用于访问对象成员,可用“对象名.成员名”的语法。它还可以用于访问嵌套成员,如“对象名.嵌套成员名.成员名”的语法。 c++...
    99+
    2024-05-15
    c++
  • C++ 并发编程库的优缺点
    c++++ 提供了多种并发编程库,满足不同场景下的需求。线程库 (std::thread) 易于使用但开销大;异步库 (std::async) 可异步执行任务,但 api 复杂;协程库 ...
    99+
    2024-05-15
    c++ 并发编程
  • 如何在 Golang 中备份数据库?
    在 golang 中备份数据库对于保护数据至关重要。可以使用标准库中的 database/sql 包,或第三方包如 github.com/go-sql-driver/mysql。具体步骤...
    99+
    2024-05-15
    golang 数据库备份 mysql git 标准库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作