android学习之控件的事件监听的四种写法
来源:互联网 发布:猫咪软件 编辑:程序博客网 时间:2024/05/20 07:36
android中很多控件的事件监听都不只有一种写法,这里我以Button为例,为大家展示该控件的四种写法!!!希望能里有利于大家在需要写监听事件的时候有一个更明确的选择。
首先给出本次的xml代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /></LinearLayout>
1)通过匿名类实现事件监听
public class MainActivity extends Activity {//绑定buttonButton btn1 = (Button)findViewById(R.id.button1);Button btn2 = (Button)findViewById(R.id.button2); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //通过匿名内部类实现button的事件监听 btn1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "This is Button 111", Toast.LENGTH_SHORT).show();}}); btn2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "This is Button 222", Toast.LENGTH_SHORT).show();}}); }}
2)自定义事件监听类
public class MainActivity extends Activity { Button btn1, btn2; class MyClickListener implements OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.button1: Toast.makeText(MainActivity.this, "This is Button 111", Toast.LENGTH_SHORT).show(); break; case R.id.button2: Toast.makeText(MainActivity.this, "This is Button 222", Toast.LENGTH_SHORT).show(); break; default: break; } } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button) findViewById(R.id.button1); btn2 = (Button) findViewById(R.id.button2); btn1.setOnClickListener(new MyClickListener()); btn2.setOnClickListener(new MyClickListener()); }}
public class MainActivity extends Activity implements OnClickListener {Button btn1 = null;Button btn2 = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn1 = (Button)findViewById(R.id.button1);btn2 = (Button)findViewById(R.id.button2);//Onclick方法在哪个类中那么监听事件的参数就是那个类btn1.setOnClickListener(this);btn2.setOnClickListener(this);}//btn1.setOnClickListener(l);@Overridepublic void onClick(View v) {// TODO Auto-generated method stub switch (v.getId()) { case R.id.button1: Toast.makeText(MainActivity.this, "This is Button 111", Toast.LENGTH_SHORT).show(); break; case R.id.button2: Toast.makeText(MainActivity.this, "This is Button 222", Toast.LENGTH_SHORT).show(); break; default: break; }}}
4)在XML文件中“显示指定按钮的onClick属性,这样点击按钮时会利用反射的方式调用对应Activity中的click()方法”
public class zhulei extends Activity implements OnClickListener {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}//不需要@Overridepublic void onClick(View v) {// TODO Auto-generated method stub switch (v.getId()) { case R.id.button1: Toast.makeText(MainActivity.this, "This is Button 111", Toast.LENGTH_SHORT).show(); break; case R.id.button2: Toast.makeText(MainActivity.this, "This is Button 222", Toast.LENGTH_SHORT).show(); break; default: break; }}}
1 0
- android学习之控件的事件监听的四种写法
- android学习之点击事件的四种写法
- android 按钮监听事件的四种写法
- Android之事件的四种写法
- android 控件监听事件之1——实现的几种写法
- Android基础学习:点击事件的四种写法
- Android学习(7) -- 点击事件的四种写法
- Android点击事件的四种写法
- android点击事件的四种写法
- Android点击事件的四种写法
- Android点击事件的四种写法
- android点击事件的四种写法
- [Android] 点击事件的四种写法
- Android----点击事件的四种写法
- Android按钮点击监听事件的写法
- Android的Button控件的点击事件的四种写法
- 对控件响应事件的四种写法
- android的onClick事件的四种写法
- 微信公众平台开发教程目录
- SEO专员,如何评估一个外链的价值?
- 在CodeBlocks环境下使用boost库
- Linux I2C设备驱动编写(一)
- 使用mod_jk整合Apache HTTP Server和Tomcat
- android学习之控件的事件监听的四种写法
- 如何清除本地shell历史记录
- Unity学习笔记(4) --- Unity的界面排版:初识GUI
- Java学习笔记----事件驱动程序设计
- 5.2、SSAS-维度-基本知识
- grunt uglify 压缩中文乱码
- oracle删除表操作,10g之前的不适用
- 机器学习技法作业7
- 中文Win7下成功安装calabash-android步骤