失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Android 基础 —— 模拟实现拨打电话功能

Android 基础 —— 模拟实现拨打电话功能

时间:2019-03-24 16:36:25

相关推荐

Android 基础 —— 模拟实现拨打电话功能

前面已经学习活动的显示跳转及隐式跳转,也学习 TextView 及 Button 两个控件的使用,下面我们来学习EditText的使用:

EditText 是程序用于和用户进行交互的另一个重要控件,它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。EditText 的应用场景应该算是非常普遍了,发短信、发微博、聊QQ 等等,在进行这些操作时,你不得不使用到EditText。那我们来看一看如何在界面上加入EditText 吧,修改activity_main.xml 中的代码,如下所示:

[java]view plaincopy<LinearLayoutxmlns:android="/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> …… <EditText android:id="@+id/edit_text" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>

注意,这里添加了这句

[java]view plaincopyandroid:orientation="vertical"

我们还可以结合使用EditText 与Button 来完成一些功能,比如通过点击按钮来获取EditText 中输入的内容。这里,我们就使用这两个控件,实现输入号码并拨号的功能,修改MainActivity 中的代码,如下所示:

[java]view plaincopy.qiang.calldemo; .Uri; importandroid.os.Bundle; importandroid.app.Activity; importandroid.content.Intent; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.Button; importandroid.widget.EditText; publicclassMainActivityextendsActivity{ @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Buttonbutton1=(Button)findViewById(R.id.button1); button1.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ //TODOAuto-generatedmethodstub Intentintent=newIntent(); intent.setAction(Intent.ACTION_CALL); EditTextet=(EditText)findViewById(R.id.et); Strings=et.getText().toString(); intent.setData(Uri.parse("tel:"+s)); startActivity(intent); } }); } }

首先通过findViewById()方法得到EditText 的实例,然后在按钮的点击事件里调用EditText 的getText()方法获取到输入的内容,再调用toString()方法转换成字符串,最后仍然还是老方法,使用Toast 将输入的内容显示出来。

但要注意

[java]view plaincopyintent.setAction(Intent.ACTION_CALL);

[java]view plaincopyintent.setData(Uri.parse("tel:"+s));

是我们拨打电话的固定格式,后面会进行详解。

下面实现实例:

如果觉得《Android 基础 —— 模拟实现拨打电话功能》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。