点击事件的4种写法

来源:互联网 发布:软件项目管理期末试卷 编辑:程序博客网 时间:2024/05/29 09:13
package com.itheima.adil;


import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;


public class MainActivity extends Activity implements OnClickListener {


private EditText et_number;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局文件
super.setContentView(R.layout.activity_main);
//查找到按钮
Button bt_dail = (Button) this.findViewById(R.id.bt_dail);
//查找到文本框
et_number = (EditText) MainActivity.this.findViewById(R.id.et_number);
//给按钮注册点击事件     1.创建一个内部类定义点击事件
//bt_dail.setOnClickListener(new MyListener());


//采用匿名内部类创建点击事件
// bt_dail.setOnClickListener(new OnClickListener() {
//
// @Override
// public void onClick(View v) {
// callphone();
//
// }
// });

//3.让activity实现点击事件的接口
//bt_dail.setOnClickListener(this);


}

//4.在布局文件了绑定一个点击的方法
public void dailButtonClicked(View v){
callphone();
}
private class MyListener implements OnClickListener{


//当按钮被点击的时候调用的方法
@Override
public void onClick(View arg0) {

callphone();
}

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}


private void callphone() {
String number = et_number.getText().toString();

if(TextUtils.isEmpty(number)){
Toast.makeText(MainActivity.this, "号码不能为空", Toast.LENGTH_LONG).show();
return;
}

//意图     想干一件什么事情
Intent intent = new Intent();
//打人  泡茶
intent.setAction(Intent.ACTION_CALL);
//url同意资源定位符    uri统一自愿标识符
intent.setData(Uri.parse("tel:"+number));

startActivity(intent);
}


//3.接口里没实现的方法
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
callphone();
}


}
0 0