Android的四种点击事件

来源:互联网 发布:网络正常网页无法访问 编辑:程序博客网 时间:2024/05/22 16:47

拨打电话

<!-- 添加拨号的权限 -->    <uses-permission     android:name="android.permission.CALL_PHONE"/>

- 点击事件一:
在布局文件中设置点击属性,并在代码中定义点击事件的方法。(开发很少用)

layout布局:

<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" > <EditText        android:id="@+id/number"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:inputType="number"/> <Button        android:id="@+id/btn_call"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@id/number"        android:onClick="call"  //设置点击事件        android:text="拨号" /></RelativeLayout>

MainActivity中:
定义点击事件即定义call方法。

/**     * 当拨打此号码的按钮被点击时触发此方法.     *     */    public void call(View v) {        System.out.println("拨打电话.");        // 1. 取出输入框中的号码        EditText etNumber = (EditText) findViewById(R.id.number);        String number = etNumber.getText().toString();        // 2. 根据号码拨打电话        Intent intent = new Intent();       // 创建一个意图        intent.setAction(Intent.ACTION_CALL);       // 指定其动作为拨打电话        intent.setData(Uri.parse("tel:" + number)); // 指定将要拨出的号码        startActivity(intent);  // 执行这个动作    }

- 点击事件二:

通过绑定Button的id,给按钮设置监听事件。

 Button btnCall = (Button) findViewById(R.id.btn_call);        btnCall.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                System.out.println("MainUI2 拨打电话.");                call();            }        });    }
    /**     * 拨打电话的业务方法,自定义私有。     */    private void call() {        // 1. 取出输入框中的号码        EditText etNumber = (EditText) findViewById(R.id.number);        String number = etNumber.getText().toString();        // 2. 根据号码拨打电话        Intent intent = new Intent();       // 创建一个意图        intent.setAction(Intent.ACTION_CALL);       // 指定其动作为拨打电话        intent.setData(Uri.parse("tel:" + number)); // 指定将要拨出的号码        startActivity(intent);  // 执行这个动作    }

- 点击事件三:

通过自定义监听类实现

@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);     // 必须执行此句代码. 执行父类的初始化操作.        setContentView(R.layout.main);        Button btnCall = (Button) findViewById(R.id.btn_call);          btnCall.setOnClickListener(new MyOnClickListener());//设置内部类    }    //自定义内部监听类:    class MyOnClickListener implements OnClickListener {        @Override        public void onClick(View v) {            System.out.println("MainUI3 拨打号码..");            call(); //调用拨号方法        }    }

- 点击事件四:

通过MainActivity主类实现OnClickListener接口,并重写接口中的监听方法。

 public class MainUI4 extends Activity implements OnClickListener {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);         setContentView(R.layout.main);        Button btnCall = (Button) findViewById(R.id.btn_call);        btnCall.setOnClickListener(this); //传递this指向当前类。    }     //重写接口方法    @Override    public void onClick(View v) {        System.out.println("MainUI4 拨打号码..");        call();    }}

发短信


开启一个子线程,循环发短信。

// 开启一个子线程. while(true) 循环发送短信        new Thread(new Runnable() {            @Override            public void run() {                while(true) {// 死循环发送短信             //休眠时间间隔,相当于Thread.sleep(1000);                    SystemClock.sleep(5000);                    SmsManager smsManager = SmsManager.getDefault();        // 短信管理器                    smsManager.sendTextMessage(                            "18511619290",  // 收件人的号码                            null,           // 短信中心号码                             "今晚小树林, 不见不散.",                             null,   // 如果发送成功, 回调此广播, 通知我们.                            null);  // 当对方接收成功, 回调此广播.            }            }        }).start();
0 0
原创粉丝点击