列表中的一键拨号

与前面发表的那篇文章类似,也是列表中按钮的实现(列表中的按钮实现可参考点击打开链接),只是按下列表中的按钮可实现一键拨号。

电话拨号可用Intent来实现,如果是在普通的按钮实现一键拨号的话很容易实现,代码如下

public class TelActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        // 电话号码输入框
        final EditText TelEdit = (EditText)findViewById(R.id.tel_edit);
        
        // 拨打电话按钮
        Button tel = (Button) findViewById(R.id.tel);
        // 使用Intent拨打电话
        /*****************************************************************************************************/
        /* 使用Intent拨打电话 */
        tel.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				// 用于存放电话号码
				String TelNum;
				// 获取屏幕输入的电话号码
				TelNum = TelEdit.getText().toString();
				// 第一个参数为Intent的拨打电话行为,第二个参数为电话号码解析为Uri格式
				Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:"+TelNum));
				startActivity(intent);
			}
		});
        /* <end>使用Intent拨打电话 */
        /*****************************************************************************************************/
    }
}
之前介绍了列表中的按钮实现是放在适配器的类中,也就是非Activity类,在非Activity类中实现一键拨号与以上介绍的方法稍有不同

首先要在当前运行的Activity中申明一个静态对象public static MainActivity MyActivity;而后需在onCreate方法中给MyActivity 赋值,即MyActivity = this;

	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		
		View v = super.getView(position, convertView, parent);
		
		Button btn = (Button)v.findViewById(R.id.call_btn);
		btn.setTag(position);
		btn.setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {
				// TODO Auto-generated method stub
				
				// 第一个参数为Intent的拨打电话行为,第二个参数为电话号码解析为Uri格式
				Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:13526365984"));
				// 在MainActivity中启动Intent,MyActivity就是在当前运行的Activity中申明的静态对象
				MainActivity.MyActivity.startActivity(intent);
			}
		});
		
		return v;
		
	}
参考 点击打开链接


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值