Android android下的电话拨号器

MainActivity.java:

package cn.itcast.phone;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity implements OnClickListener {
	public static final String tag = "MainActivity";
	private EditText mEditText;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		// 得到了 activity界面上button的引用
		Button button = (Button) this.findViewById(R.id.bt_dail);
		mEditText = (EditText) MainActivity.this.findViewById(R.id.et_number);
		/*
		 * button.setOnClickListener(new OnClickListener() {
		 * 
		 * // 方法二 :通过匿名内部类的方式实现点击事件
		 * 
		 * @Override public void onClick(View v) {
		 * 
		 * String number = mEditText.getText().toString(); Log.i(tag,number);
		 * Log.i(tag,"匿名内部类"); //播打电话号码 Intent intent = new Intent(); // 意图
		 * 代表一个要执行动作的意图 //拨打动作 110 代表的是一个数据
		 * intent.setAction(Intent.ACTION_CALL);
		 * intent.setData(Uri.parse("tel:"+number));
		 * 
		 * //android里面 startActivity(intent); } });
		 */

		// button.setOnClickListener(this);

	}

	/**
	 * 第一种写法
	 * 
	 * @author zehua
	 * 
	 */
	private class MyButtonClickListener implements OnClickListener {
		// 在某一个view对象 被点击的时候 调用的回调方法
		@Override
		public void onClick(View v) {

			String number = mEditText.getText().toString();
			Log.i(tag, number);
			// 播打电话号码
			Intent intent = new Intent(); // 意图 代表一个要执行动作的意图
			// 拨打动作 110 代表的是一个数据
			intent.setAction(Intent.ACTION_CALL);
			intent.setData(Uri.parse("tel:" + number));

			// android里面
			startActivity(intent);
		}

	}

	// 按钮对应的点击事件
	// 参数 v 代表的就是当前被点击的条目对应的view对象
	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.bt_dail:
			// 相应按钮的点击事件

			String number = mEditText.getText().toString();
			Log.i(tag, number);
			// 播打电话号码
			Intent intent = new Intent(); // 意图 代表一个要执行动作的意图
			// 拨打动作 110 代表的是一个数据
			intent.setAction(Intent.ACTION_CALL);
			intent.setData(Uri.parse("tel:" + number));

			// android里面
			startActivity(intent);
			break;

		}

	}

	/**
	 * 定义 xml布局文件里面 button 绑定的点击事件的方法
	 * 
	 * @param view
	 */
	public void dail(View view) {
		String number = mEditText.getText().toString();
		Log.i(tag, number);
		// 播打电话号码
		Intent intent = new Intent(); // 意图 代表一个要执行动作的意图
		// 拨打动作 110 代表的是一个数据
		intent.setAction(Intent.ACTION_CALL);
		intent.setData(Uri.parse("tel:" + number));

		// android里面
		startActivity(intent);
	}

	public void textview_click(View view) {
		Log.i(tag, "文本被点击了");
	}
}
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:clickable="true"
        android:onClick="textview_click"
        android:text="@string/please_input_number" />

    <EditText
        android:id="@+id/et_number"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="@string/hint"
        android:lines="1"
        android:numeric="integer" />

    <Button
        android:id="@+id/bt_dail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="dail"
        android:text="@string/bt" />

</LinearLayout>


你可能感兴趣的:(android,电话拨号器)