Android 四种常用的监听器
来源:互联网 发布:天文搜星算法 编辑:程序博客网 时间:2024/05/22 00:51
Android 四种常用的监听器
什么是监听器?
1、监听器是个抽象类,它包含了一个事件触发时系统会去调用的函数
2、在子类中,根据您项目的需要重写这个函数
3、派生后的监听器需要绑定到按钮上,就像一个耳机可以发出声音,但您不去戴它,您是听不到它发出的声音的。一般的情况是这个按钮可能需要这个监听器,而另外一个按钮需要另外一个监听器,每个监听器各司其职,但功能相似时,也可以多个按钮共同绑定一个监听器。
第一种监听器:匿名内部类
实现方法: listener.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
}
});
.xml
<Button
android:id="@+id/listener"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="listener" />
.java
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button listener = (Button) findViewById(R.id.listener);
listener.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "我是匿名内部类", 0).show();
}
});
}
第二种监听器 xml监听器 (这种想控制Button的属性 例如setEnabled 还有双击的时候 不推荐使用这种 )
在.xml中加个onClick语句
.xml
<Button
android:id="@+id/listener"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="click"
android:text="listener" />
.java
public class Xml_listener_Activity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_xml_listener);
}
public void click(View view){
Toast.makeText(this, "我是xml监听器", 0).show();
}
}
第三种监听器 activity本身作为监听器
这个把你的类实现了OnClickListener接口
.xml
<Button
android:id="@+id/listener"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="listener" />
.java
public class ActivityListenerActivity extends ActionBarActivity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity_listener);
TextView listener = (TextView) findViewById(R.id.listener);
listener.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
Toast.makeText(this, "我是activity本身作为监听器", 0).show();
}
}
第四种监听器 内部类作为监听器
.xml
<Button
android:id="@+id/listener"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="listener" />
.java
public class InsideListenerActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_inside_listener);
TextView list = (TextView) findViewById(R.id.listener);
mylistener listener=new mylistener();
list.setOnClickListener(listener);
}
class mylistener implements OnClickListener{
@Override
public void onClick(View arg0) {
Toast.makeText(InsideListenerActivity.this, "我是内部类作为监听器", 0).show();
}
}
- Android 四种常用的监听器
- android 监听器实现的四种方式
- Android常用监听器的分类
- Android按钮监听器实现的四种形式
- 【Android 基础】Android按钮实现事件监听器四种常用形式+拓展几种形式
- Android 按钮监听器我常用的两种方法
- android 四种常用的存储方式
- Android常用的四种设计模式
- Android常用的四种布局使用方法
- Android中为Button注册监听器最常用的两种方法
- Java实现事件监听器的四种方式
- Button 监听器的实现——四种方法
- Android俩种级别的监听器
- servlet中常用的监听器
- Oracle监听器的常用操作手册
- Java监听器的常用示例
- Android 短信的监听器
- Android四种常用布局
- android native 与h5 交互技巧
- 赋值运算符函数
- Python处理多个客户端连接---派生服务器
- 最小费用最大流模板
- SQL SERVER 全局变量
- Android 四种常用的监听器
- JVM学习
- VMware12 + redhat7 + windows7网络配置
- 卷积神经网络
- ReactiveCocoa操作方法(映射,组合)
- 问题解决了,可是为什么呢?could not find the main class.program will exitmain
- C语言任意交换两种类型变量
- C++基础--static静态成员
- 线程同步和异步问题-Java