第三十六天 一乐在其中—Android的按钮单击事件及监听器的实现方式
16lz
2021-01-23
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>
更多相关文章
- Android中点击事件的四种写法详解
- android:如何在java代码中覆盖webview中的javascript事件
- Android 关于嵌套listView时onItemClick事件不响应的解决办法
- Android webkit keyevent 事件传递过程
- android屏幕触摸事件机制
- [置顶] android 长按和点击监听事件 谁先执行
- 【记录】Android监听蓝牙耳机的按键事件
- Android onTouch事件解析