温馨提示:如果觉得文字或者代码过小,请按住ctrl+鼠标滑轮滚动,调整浏览器的显示比例。

activity_main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/insert_number" />    <EditText        android:id="@+id/numET"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:inputType="phone" />    <Button        android:id="@+id/callBT"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="onClick" //使用MainActivity3加上此代码,前面两个不使用        android:text="@string/call" /></LinearLayout>

strings.xml

<?xml version="1.0" encoding="utf-8"?><resources>    <string name="app_name">Phone</string>    <string name="action_settings">Settings</string>    <string name="hello_world">Hello world!</string>    <string name="insert_number">请输入电话号码</string>    <string name="call">呼叫此号码</string></resources>

MainActivity.java 第一种触发事件的写法

package com.zwj.phone;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity {private EditText numET;// 由于多个方法使用, 定义为成员变量    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_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);// 使用意图开启一个界面(拨打电话的界面)    }    }    } 
MainActivity2.java 第二种触发事件的写法

package com.zwj.phone;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity2 extends Activity implements OnClickListener {// 当前类即是一个Activity, 也是一个OnClickListener    private EditText numET;// 由于多个方法使用, 定义为成员变量public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_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);// 使用意图开启一个界面(拨打电话的界面)}} 

MainActivity3.java 第三种触发事件的写法

package com.zwj.phone;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.widget.EditText;public class MainActivity3 extends Activity {    private EditText numET;// 由于多个方法使用, 定义为成员变量public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                numET = (EditText) findViewById(R.id.numET);// 找到文本框    }    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);// 使用意图开启一个界面(拨打电话的界面)}}



MainActivity4.java 第四种触发事件的写法

package com.zwj.phone;import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.View;import android.widget.Button;import android.widget.EditText;public class MainActivity01 extends Activity {private EditText numET;//由于多个方法使用,定义为成员变量private Button callBT;    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        find_and_modify_button();    }private void find_and_modify_button() {numET = (EditText) findViewById(R.id.numET);            // 找到文本框          callBT = (Button) findViewById(R.id.callBT);     // 找到按钮对象          callBT.setOnClickListener(callBT_listener);}   private Button.OnClickListener callBT_listener = new Button.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);}};}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.zwj.phone"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="4"        android:targetSdkVersion="10" />    <uses-permission android:name="android.permission.CALL_PHONE" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name="com.zwj.phone.MainActivity2"//根据使用选择需要的MainActivity            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>


更多相关文章

  1. Android中文API(127) ―― MessageQueue
  2. 自定义Activity间跳转效果
  3. 仿QQ下拉菜单列表 自定义Spinner
  4. Android(安卓)Audio代码分析6 - AudioEffect
  5. Custom Dialog !自定义对话框
  6. Android学习心得(四)——互联网应用
  7. framework中自定义系统级权限
  8. Android(安卓)数据库操作:Room
  9. Android对话框自定义标题 对话框标题美化操作

随机推荐

  1. CopyOnWriteArrayList 读写分离,弱一致性
  2. 数据库[分库分表]中间件 Sharding-JDBC
  3. 数据库分库分表中间件 Sharding-JDBC 源
  4. 【第808期】你不懂JS:ES6与未来 语法(中)
  5. 【第417期】记忆前端早读课
  6. 2021-1-18
  7. 活动|坚持21天阅读分享
  8. 【招聘】杭州尚妆网招前端
  9. 【招聘】杭州上海蚂蚁金服招前端
  10. 专访|腾讯微信支付设计中心重构负责人@Gho