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

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

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

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     android:layout_width="match_parent"  
  3.     android:layout_height="match_parent"  
  4.     android:orientation="vertical" >  
  5. ……  
  6.     <EditText  
  7.         android:id="@+id/edit_text"  
  8.         android:layout_width="match_parent"  
  9.         android:layout_height="wrap_content"  
  10.     />  
  11. </LinearLayout>  

注意,这里添加了这句

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. android:orientation="vertical"  

 

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

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. package cn.com.qiang.calldemo;  
  2.   
  3. import android.net.Uri;  
  4. import android.os.Bundle;  
  5. import android.app.Activity;  
  6. import android.content.Intent;  
  7. import android.view.View;  
  8. import android.view.View.OnClickListener;  
  9. import android.widget.Button;  
  10. import android.widget.EditText;  
  11.   
  12. public class MainActivity extends Activity {  
  13.   
  14.     @Override  
  15.     protected void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17.         setContentView(R.layout.activity_main);  
  18.           
  19.         Button button1 = (Button)findViewById(R.id.button1);  
  20.         button1.setOnClickListener(new OnClickListener() {  
  21.               
  22.             @Override  
  23.             public void onClick(View v) {  
  24.                 // TODO Auto-generated method stub  
  25.                 Intent intent = new Intent();  
  26.                 intent.setAction(Intent.ACTION_CALL);  
  27.   
  28.                   
  29.                 EditText et = (EditText)findViewById(R.id.et);  
  30.                 String s = et.getText().toString();  
  31.                 intent.setData(Uri.parse("tel:"+s));  
  32.                   
  33.                 startActivity(intent);  
  34.             }  
  35.         });  
  36.     }  
  37. }  

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

但要注意

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. intent.setAction(Intent.ACTION_CALL);  

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. intent.setData(Uri.parse("tel:"+s));  

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

 

下面实现实例:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!感谢您的提问。 以下是一个简单的 Android 计数器的基础编码示例: 1. 在 activity_main.xml 文件中添加以下代码: ``` <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/counterTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0" android:textSize="50dp" android:layout_gravity="center_horizontal"/> <Button android:id="@+id/incrementButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Increment" android:layout_gravity="center_horizontal" android:onClick="incrementCounter"/> <Button android:id="@+id/resetButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Reset" android:layout_gravity="center_horizontal" android:onClick="resetCounter"/> </LinearLayout> ``` 2. 在 MainActivity.java 文件中添加以下代码: ``` public class MainActivity extends AppCompatActivity { private int counter = 0; private TextView counterTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); counterTextView = findViewById(R.id.counterTextView); } public void incrementCounter(View view) { counter++; counterTextView.setText(Integer.toString(counter)); } public void resetCounter(View view) { counter = 0; counterTextView.setText(Integer.toString(counter)); } } ``` 3. 运行应用程序,您将看到一个显示当前计数器值的 TextView 和两个按钮:Increment 和 Reset。单击 Increment 按钮将增加计数器值,单击 Reset 按钮将将计数器值重置为零。 希望这可以帮助您入门 Android 编程!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值