一、通过在activity_main.xml中,按钮button控件中添加onclick事件实现


在 activity_main.xml 对应的按钮Button中加入下面红色事件

<Button android:id="@+id/send_button"
android:layout_width="wrap_content"
android:layout_below="@id/content_edit"
android:text="@string/send_button"
android:onClick="call"
android:layout_height="wrap_content"/>

在布局对应的Activity,即MainActivity.java中加入下面方法,下面是点击拨打号码的时候的相关操作

/**
* 当拨打此号码的按钮被点击时触发此方法.
* @param v
*/
public void call(View v) {
System.out.println("拨打电话……….");

// 1. 取出输入框中的号码
EditText etNumber = (EditText) findViewById(R.id.number); // 输入框对象
String number = etNumber.getText().toString(); // 将要拨打的号码

// 2. 根据号码拨打电话
Intent intent = new Intent(); // 创建一个意图
intent.setAction(Intent.ACTION_CALL); // 指定其动作为拨打电话
intent.setData(Uri.parse("tel:" + number)); // 指定将要拨出的号码
startActivity(intent); // 执行这个动作
}

二、采用匿名内部类的方式,在布局初始化的时候添加事件监听


在 activity_main.xml 不要添加onclick事件

在布局对应的Activity,即MainActivity.java的onCreate方法中,添加下面代码实现事件监听:

Button btnCall = (Button) findViewById(R.id.btn_call);
btnCall.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("MainUI2 拨打电话.");
call();
}
});

三、采用内部类的方式,在布局初始化的时候添加事件监听


在 activity_main.xml 不要添加onclick事件

在布局对应的Activity,即MainActivity.java的onCreate方法中,添加下面代码实现事件监听:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // 必须执行此句代码. 执行父类的初始化操作.
setContentView(R.layout.main); // 设置当前界面显示的布局.
Button btnCall = (Button) findViewById(R.id.btn_call);
btnCall.setOnClickListener(new MyOnClickListener());
}

class MyOnClickListener implements OnClickListener {

@Override
public void onClick(View v) {
System.out.println("拨打号码..");
call();
}
}

/**
* 拨打电话的业务方法
*/
private void call() {

//实现事件触发的要执行的逻辑

四、采用Activity实现接口的方式,实现事件监听


在 activity_main.xml 不要添加onclick事件, 让布局Activity实现接口OnClickListener,并实现接口的方法

public class MainActivity extends Activity implements OnClickListener

private void call() {

// 1. 取出输入框中的号码
EditText etNumber = (EditText) findViewById(R.id.number); // 输入框对象
String number = etNumber.getText().toString(); // 将要拨打的号码

// 2. 根据号码拨打电话
Intent intent = new Intent(); // 创建一个意图
intent.setAction(Intent.ACTION_CALL); // 指定其动作为拨打电话
intent.setData(Uri.parse("tel:" + number)); // 指定将要拨出的号码
startActivity(intent); // 执行这个动作
}

@Override
public void onClick(View v) {

call();
}

更多相关文章

  1. Android(安卓)widget桌面插件
  2. android Fragments (Android官方文档中文版)
  3. Android(安卓)adb不是内部或外部命令
  4. xamarin for android 环境配置
  5. Android(安卓)中文API (91) ―― GestureDetector
  6. Failed to fetch URL https://dl-ssl.google.com/android/reposi
  7. 【android】listview动态更新(与数据库之间的交道)
  8. Android终端命令执行编译命令()
  9. 为 Android(安卓)添加 Java 层服务(三)

随机推荐

  1. 【Android(安卓)Developers Training】 2
  2. android标题栏添加延时加载标志
  3. Android中使用BottomNavigationBar实现仿
  4. Android(安卓)8.1隐藏状态栏图标的实例代
  5. android内存泄露优化总结
  6. Android的连接服务器
  7. monodroid开发之--call Hanlder
  8. 关于Android(安卓)Settings中的八个问题
  9. android: Can't create handler inside t
  10. 共享打印机频繁脱机的解决办法