android学习之4种点击事件的响应方式
来源:互联网 发布:qq mac版支持哪个系统 编辑:程序博客网 时间:2024/05/17 04:58
如题,下面就一一列出对点击事件响应的4种方式:
第一种:内部类的形式:
package com.example.dail;import android.net.Uri;import android.os.Bundle;import android.renderscript.Int2;import android.text.TextUtils;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {private Button bt_dail = null;private EditText et_number = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bt_dail = (Button) findViewById(R.id.bt_dail);et_number = (EditText) findViewById(R.id.et_number);bt_dail.setOnClickListener(new MyListener());}private void callPhone() {String number = et_number.getText().toString();if(TextUtils.isEmpty(number)) {Toast.makeText(MainActivity.this, "号码不能为空", 1).show();}Intent intent = new Intent();intent.setAction(Intent.ACTION_CALL);intent.setData(Uri.parse("tel:"+number));startActivity(intent);}private class MyListener implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubcallPhone();}}}创建一个内部类MyListener实现OnClickListener接口。
第二种:匿名内部类:
package com.example.dail;import android.net.Uri;import android.os.Bundle;import android.renderscript.Int2;import android.text.TextUtils;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {private Button bt_dail = null;private EditText et_number = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bt_dail = (Button) findViewById(R.id.bt_dail);et_number = (EditText) findViewById(R.id.et_number);bt_dail.setOnClickListener(new OnClickListener(){public void onClick(View v){callPhone();}});}private void callPhone() {String number = et_number.getText().toString();if(TextUtils.isEmpty(number)) {Toast.makeText(MainActivity.this, "号码不能为空", 1).show();}Intent intent = new Intent();intent.setAction(Intent.ACTION_CALL);intent.setData(Uri.parse("tel:"+number));startActivity(intent);}}第三种:在xml布局文件中,定义onclick的方式
<Button android:onClick="btOnClick" android:id="@+id/bt_dail" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/et_number" android:text="@string/dail"/>"
然后再主类里面实现btOnClick方法,
private void btOnClick(View v) {callPhone();}private void callPhone() {String number = et_number.getText().toString();if(TextUtils.isEmpty(number)) {Toast.makeText(MainActivity.this, "号码不能为空", 1).show();}Intent intent = new Intent();intent.setAction(Intent.ACTION_CALL);intent.setData(Uri.parse("tel:"+number));startActivity(intent);}
第四种:让主类实现OnClickListener接口,然后再主类实现未实现的方法
package com.example.dail;import android.net.Uri;import android.os.Bundle;import android.renderscript.Int2;import android.text.TextUtils;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {private Button bt_dail = null;private EditText et_number = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bt_dail = (Button) findViewById(R.id.bt_dail);et_number = (EditText) findViewById(R.id.et_number);bt_dail.setOnClickListener(this);}private void callPhone() {String number = et_number.getText().toString();if(TextUtils.isEmpty(number)) {Toast.makeText(MainActivity.this, "号码不能为空", 1).show();}Intent intent = new Intent();intent.setAction(Intent.ACTION_CALL);intent.setData(Uri.parse("tel:"+number));startActivity(intent);}@Overridepublic void onClick(View v) {callPhone();}}如上所述,4种点击事件的响应方式就是如此。
<pre code_snippet_id="103066" snippet_file_name="blog_20131208_4_3031669" name="code" class="java">
<pre code_snippet_id="103066" snippet_file_name="blog_20131208_5_5713865" name="code" class="java"><pre code_snippet_id="103066" snippet_file_name="blog_20131208_5_5713865" name="code" class="java"><pre code_snippet_id="103066" snippet_file_name="blog_20131208_5_5713865">
- android学习之4种点击事件的响应方式
- android学习之4种点击事件的响应方式
- android abslistview item点击事件无响应的处理方式
- Android响应按钮点击事件的4种方法实现
- Android 响应按钮点击事件的4种写法
- 学习Android之第一个小程序及点击事件的几种方式
- Android-学习笔记之 Button实现点击事件的几种方式
- Android之Button按钮点击事件的三种方式
- Android之Button点击事件处理的几种方式
- Android之Button按钮点击事件的四种方式
- android响应事件的三种方式
- Android响应按钮事件的4种方式
- Android学习笔记(九):按钮添加点击事件的4种方式
- Android-11-点击事件的4种处理方式
- android学习之点击事件的四种写法
- Android 之 常见事件响应的实现方式对比
- Android之常见事件响应的实现方式
- android 之 常见事件响应的实现方式对比
- 信号完整性问题概述
- Android下编译库文件jar包并在应用中调用
- 高速PCB设计中的阻抗匹配
- 图像处理步骤
- CF371
- android学习之4种点击事件的响应方式
- HTML中A标签target属性
- 硬件电路设计
- POJ2531:Network Saboteur
- 向pcd文件写入点云数据
- js数组自定义函数,是否存在val、删除val、
- JNDI是什么
- 计算机视觉会议
- 电容-滤波电容-去耦电容-耦合电容-旁路电容