7月25日,晴天。“蝉噪林逾静 鸟鸣山更幽”。

Android为按钮添加事件的常见的两种方法

第一种:外部类作为监听器

package org.mobiletrain.activity01;import android.os.Bundle;import android.app.Activity;import android.util.Log;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button) findViewById(R.id.buttonId);button.setOnClickListener(new ButtonListener());}class ButtonListener implements OnClickListener {@Overridepublic void onClick(View arg0) {Toast.makeText(getApplicationContext(), "外部类作为监听器",Toast.LENGTH_SHORT).show();Log.d("Activity01", "外部类作为监听器");}}}

当用户单击button按钮时,程序将会触发ButtonListener监听器。

第二种:匿名内部类作为事件监听器类

package org.mobiletrain.activity01;import android.os.Bundle;import android.app.Activity;import android.util.Log;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button) findViewById(R.id.buttonId);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View view) {Toast.makeText(getApplicationContext(), "匿名内部类作为事件监听器类",Toast.LENGTH_SHORT).show();Log.d("Activity01", "匿名内部类作为事件监听器类");}});}}
大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适,实际上,这种形式是目前是最广泛的事件监听器形式。上面的程序代码就是匿名内部类来创建事件监听器的!!!
activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="" />      <Button        android:id="@+id/buttonId"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="button"/></RelativeLayout>





更多相关文章

  1. Android中点击事件的四种写法详解
  2. android:如何在java代码中覆盖webview中的javascript事件
  3. Android 关于嵌套listView时onItemClick事件不响应的解决办法
  4. Android webkit keyevent 事件传递过程
  5. android屏幕触摸事件机制
  6. [置顶] android 长按和点击监听事件 谁先执行
  7. 【记录】Android监听蓝牙耳机的按键事件
  8. Android onTouch事件解析

随机推荐

  1. 我们可以有多个在同一个吗?
  2. 纯HTML+CSS+JQUERY的响应式导航
  3. 更改所选文本的背景颜色,HTML JQUERY
  4. Server.Htmlencode用于文本域显示带的htm
  5. IOS学习之WebView加载本地HTML代码或网络
  6. 利用HTML canvas制作酷炫星星坠地粒子特
  7. html5: 新特性(表单)
  8. CHtmlEditCtrl (3): More HTML Editor Op
  9. JQuery函数不能用于初始触发器
  10. 百度地图Api进阶教程-实例高级操作8.html