一、程序运行效果图:



二、代码实现


1、main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >            <EditText        android:id="@+id/tv_phonenum"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:hint="请输入号码"        />        <Button         android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="拨打号吗"        android:onClick="call"       ----》注意这是第一种处理方式:即在按钮中加一个onClick属性        /></LinearLayout>


2、MainActivity

1)点击事件的第一种处理方式:给button或其他空间加上onClick属性。(PS:这种处理方式主要体现在XML文件的书写上)

package com.njupt.phonetest;import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.widget.TextView;public class MainActivity extends Activity {private TextView tv_phonenum;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);tv_phonenum = (TextView) findViewById(R.id.tv_phonenum);}public void call(View v){String phone_num = tv_phonenum.getText().toString();Intent intent = new Intent();intent.setAction(Intent.ACTION_CALL);intent.setData(Uri.parse("tel:" + phone_num));startActivity(intent);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

2)定义一个内部类实现OnClickListener接口

public class MainActivity1 extends Activity {    private EditText numET;// 由于多个方法使用, 定义为成员变量public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                numET = (EditText) findViewById(R.id.numET);// 找到文本框        Button callBT = (Button) findViewById(R.id.callBT);// 找到按钮对象        callBT.setOnClickListener(new MyOnClickListener());// 添加监听器    }        private class MyOnClickListener implements OnClickListener {//定义监听器类, 实现OnClickListener    public void onClick(View v) {// 定义事件对应的处理方法    String num = numET.getText().toString();         // 获取其中号码    Intent intent = new Intent();        // 创建意图对象    intent.setAction(Intent.ACTION_CALL);// 设置意图的动作(拨打电话)    intent.setData(Uri.parse("tel:" + num));// 设置意图的数据(电话号码)    startActivity(intent);// 使用意图开启一个界面(拨打电话的界面)    }    }}


3)MainAcitivity实现OnClickListener接口

public class MainActivity2 extends Activity implements OnClickListener {// 当前类即是一个Activity, 也是一个OnClickListener    private EditText numET;// 由于多个方法使用, 定义为成员变量public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                numET = (EditText) findViewById(R.id.numET);// 找到文本框        Button callBT = (Button) findViewById(R.id.callBT);// 找到按钮对象        callBT.setOnClickListener(this);// 把当前对象作为监听器, 添加到Button上    }    public void onClick(View v) {// 定义事件对应的处理方法String num = numET.getText().toString();// 获取其中号码Intent intent = new Intent();        // 创建意图对象intent.setAction(Intent.ACTION_CALL);// 设置意图的动作(拨打电话)intent.setData(Uri.parse("tel:" + num));// 设置意图的数据(电话号码)startActivity(intent);// 使用意图开启一个界面(拨打电话的界面)}}


3、AndroidManifest.xml

在这里加上权限打电话的权限:<uses-permission android:name="android.permission.CALL_PHONE"/>



源码下载:

更多相关文章

  1. 使用LocationManager来获取移动设备所在的地理位置信息
  2. 关于Android(安卓)Activity之间传递数据的6种方式
  3. Android(安卓)自定义布局控件-圆形RelativeLayout
  4. Android自定义属性时format选项( )
  5. android 改变线程优先级Change Thread Priority
  6. ArcGIS for Android示例解析之FeatureLayer服务-----SelectFeatu
  7. android样式学习(一) 使用selector改变来动态改变背景颜色
  8. not using the 2- or 3-argument View constructors
  9. android Dialog 各种Dialog 三个选项的、进度条的、单选的、多选

随机推荐

  1. android 广播 android Service 开机启动
  2. Android(安卓)Accessibility(辅助功能) 学
  3. AndroidManifest.xml - 【 manifest -> A
  4. android秒表计时代码
  5. 如何自学 Android(安卓)编程-----整理sto
  6. android多点触摸缩放图片
  7. Android原生和MUI(也适合H5与原生交互)交互
  8. Android(安卓)StatusBar
  9. Android下雪动画 VS JS下雪动画
  10. Qt for Android(九) ——APP 崩溃卡死拉起