onclicklistener到底怎么用?
来源:互联网 发布:xpspeak41软件下载 编辑:程序博客网 时间:2024/04/30 12:40
转载地址:http://blog.csdn.net/dickren123/article/details/7216975
相信很多像我一样的新手学习ANDROID开发会遇到这个问题,通过这几天的归类和总结,将我的理解写在下面,欢迎大家一起前来讨论:
以按钮BUTTON的监听事件为例,以下的监听实现都是等价的:
1.使用接口继承按钮监听方法:
package dickren123.hui.say_hello_to_world;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;/* 这里接口继承的方法是隶属于按钮BUTTON的,因此前面导入的头文件只需有BUTTON即可*/public class Hello_to_worldActivity extends Activity implements Button.OnClickListener{/** Called when the activity is first created. */private Button btn_say_hello;private TextView hello_world;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);btn_say_hello = (Button)findViewById(R.id.bnt_SAY_HELLO_TO_WORLD);hello_world = (TextView)findViewById(R.id.textView1);btn_say_hello.setOnClickListener(this) ;//由于该类继承了BUTTON的监听,} //因此设置监听的参数只需传本类的对象即可public void onClick(View v) {// TODO Auto-generated method stubhello_world.setText("dickren123!");//抽象接口的内部方法的实现}}
2.使用接口继承view类的监听方法
package dickren123.hui.say_hello_to_world;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;/* 导入的头文件需要有view类监听*/import android.widget.Button;import android.widget.TextView;public class Hello_to_worldActivity extends Activity implements OnClickListener{ /** Called when the activity is first created. */private Button btn_say_hello;private TextView hello_world; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn_say_hello = (Button)findViewById(R.id.bnt_SAY_HELLO_TO_WORLD); hello_world = (TextView)findViewById(R.id.textView1); btn_say_hello.setOnClickListener(this) ;//由于该类继承了view的监听, } //因此设置监听的参数只需传本类的对象即可public void onClick(View v) {// TODO Auto-generated method stubhello_world.setText("dickren123!");//抽象接口的内部方法的实现}}
3.不用接口,在类内部直接实现监听
package dickren123.hui.say_hello_to_world;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class Hello_to_worldActivity extends Activity {/** Called when the activity is first created. */private Button btn_say_hello;private TextView hello_world;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);btn_say_hello = (Button)findViewById(R.id.bnt_SAY_HELLO_TO_WORLD);hello_world = (TextView)findViewById(R.id.textView1);btn_say_hello.setOnClickListener(new Button.OnClickListener(){public void onClick(View v) { //使用匿名的Button实例// TODO Auto-generated method stubhello_world.setText("dickren123!");//抽象接口的内部方法的实现}}) ;} }
如果不使用匿名实例,也可以定义一个具体的实例,如下:
package dickren123.hui.say_hello_to_world;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;public class Hello_to_worldActivity extends Activity {/** Called when the activity is first created. */private Button btn_say_hello;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);btn_say_hello = (Button)findViewById(R.id.bnt_SAY_HELLO_TO_WORLD);btn_listener bl = new btn_listener();btn_say_hello.setOnClickListener(bl); //bl是类btn_listener的实例,而btn_listener为监听方法的接口} //因此设置监听的参数只需传本类的对象即可}class btn_listener implements Button.OnClickListener{public void onClick(View v) {// TODO Auto-generated method stub}}
希望大家多多交流!^_^
- onclicklistener到底怎么用?
- onclicklistener到底怎么用?
- onclicklistener到底怎么用?
- OnClicklistener到底怎么用?
- 新手Android开发之二:onclicklistener到底怎么用?
- Android开发——onclicklistener()到底怎么用?
- 新手Android开发之二:OnClickListener到底怎么用?
- urlrewriter到底怎么用
- didReceiveMemoryWarning到底应该怎么用
- cocos2dx FadeIn到底怎么用?
- glVertexAttribPointer 到底该怎么用?
- OnClickListener()
- [全程建模]UML到底该怎么用
- android中的Context到底该怎么用
- self和super到底怎么用?
- android中的Context到底该怎么用
- 单卡12.8TB闪存卡到底怎么用?
- blog到底怎么了。
- mysql的基本数据类型(数据类型---范围----字节------推荐存储)
- Windows 7 安装oracle11g 失败(转)
- 读书笔记《瞬间之美:Web 界面设计如何让用户心动》
- mysql 建立只读账户
- 保存数据到文件(二)locals(),try...finally save data to file python
- onclicklistener到底怎么用?
- mysql 批量替换 内容
- 【黑马程序员】javaIO学习和总结
- m3u8格式解析
- 算法导论 5.3-1
- firebug的使用
- 3D打印
- 颜色yuv和rgb互转
- 手势、NUI、人机交互的几点笔记