android点击事件的四种方式

第一种方式:创建内部类实现点击事件

代码如下:

package com.example.dail;import android.text.TextUtils;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;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 EditText etext;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //获取text文本框内容        etext = (EditText) MainActivity.this.findViewById(R.id.editText1);        //根据id获取button按钮        Button btn = (Button) this.findViewById(R.id.button_dail);        //给按钮添加点击时事件(有四种给按钮添加点击事件方式:1、创建内部类实现点击事件)        btn.setOnClickListener(new MyOnClickListener());    }       private class MyOnClickListener implements OnClickListener{        @Override        public void onClick(View arg0) {            callphone();        }    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        int id = item.getItemId();        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }    private void callphone() {        String e_number = etext.getText().toString();        if(TextUtils.isEmpty(e_number)) {            Toast.makeText(MainActivity.this, "号码不能为空!", Toast.LENGTH_SHORT).show();            return ;        }        Intent intent = new Intent();        intent.setAction(Intent.ACTION_CALL);        intent.setData(Uri.parse("tel:"+e_number));        startActivity(intent);    }}    

 

 

 

第二种方式:采用匿名内部类实现点击事件

package com.example.dail;import android.text.TextUtils;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;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 EditText etext;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //获取text文本框内容        etext = (EditText) MainActivity.this.findViewById(R.id.editText1);        //根据id获取button按钮        Button btn = (Button) this.findViewById(R.id.button_dail);        //给按钮添加点击时事件(有四种给按钮添加点击事件方式:1、创建内部类实现点击事件)//        btn.setOnClickListener(new MyOnClickListener());        //第二种方式:采用匿名内部类实现点击事件        btn.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View arg0) {                callphone();            }        });    }      @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        int id = item.getItemId();        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }    private void callphone() {        String e_number = etext.getText().toString();        if(TextUtils.isEmpty(e_number)) {            Toast.makeText(MainActivity.this, "号码不能为空!", Toast.LENGTH_SHORT).show();            return ;        }        Intent intent = new Intent();        intent.setAction(Intent.ACTION_CALL);        intent.setData(Uri.parse("tel:"+e_number));        startActivity(intent);    }}

第三种方式:采用Activity实现OnClickListener接口方式来实现点击事件

package com.example.dail;import android.text.TextUtils;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;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 EditText etext;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //获取text文本框内容        etext = (EditText) MainActivity.this.findViewById(R.id.editText1);        //根据id获取button按钮        Button btn = (Button) this.findViewById(R.id.button_dail);        //给按钮添加点击时事件(有四种给按钮添加点击事件方式:1、创建内部类实现点击事件)//        btn.setOnClickListener(new MyOnClickListener());        //第二种方式:采用匿名内部类实现点击事件        /*btn.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View arg0) {                callphone();            }        });*/        //第三种方式:采用Activity实现OnClickListener接口方式来实现点击事件        btn.setOnClickListener(this);            }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        int id = item.getItemId();        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }    private void callphone() {        String e_number = etext.getText().toString();        if(TextUtils.isEmpty(e_number)) {            Toast.makeText(MainActivity.this, "号码不能为空!", Toast.LENGTH_SHORT).show();            return ;        }        Intent intent = new Intent();        intent.setAction(Intent.ACTION_CALL);        intent.setData(Uri.parse("tel:"+e_number));        startActivity(intent);    }       @Override    public void onClick(View arg0) {        callphone();    }}

第四种方式:在布局中绑定一个点击方法

第一步:在布局文件中添加android:onClicke属性

<Button         android:onClick="dailButtonOnClick"        android:id="@+id/button_dail"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_below="@id/editText1"        android:text="@string/dail"        />

第二步:在MainActivity中添加dailButtonOnClick方式

private void dailButtonOnClick(){        callphone();    }

 

转载于:https://www.cnblogs.com/564085446java/p/4638296.html

更多相关文章

  1. Android不同层次开启硬件加速的方式
  2. android各种图片获取路径的方式
  3. Android的数据存储
  4. eclipse安装及配置android基础教程
  5. Android(安卓)webview监听网页对话框点击事件
  6. Android中ExpandableListView控件基本使用
  7. Android开发环境配置
  8. android中的http访问方式
  9. Android(安卓)全自动js脚本测试 Appium教程——appium环境搭建(一

随机推荐

  1. kubernetes概述-介绍、组件、架构
  2. vmware 虚拟机中Ubuntu 20.04系统大小写
  3. ThingJS:数字孪生城市的最小单元如何“智
  4. 运算符、流程控制、循环与文件包含
  5. 表格练习测试
  6. jenkins打包文件上传七牛云
  7. jenkins轮询任务
  8. smobiler仿饿了么app搜索页面
  9. 为什么Python受关注?Python热门的原因!
  10. 从某人的公众号学到一个网上学习资源搜索