package com.luckydog.dail;
import android.support.v7.app.ActionBarActivity;
import android.text.TextUtils;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
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 ActionBarActivity implements OnClickListener {
private EditText et_number;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局文件
setContentView(R.layout.fragment_main);
//查找到按钮
Button bt_dail = (Button) findViewById(R.id.bt_dail);
//查找文本
et_number = (EditText) MainActivity.this.findViewById(R.id.et_number);
//给按钮注册点击事件
//1.创建一个内部类,定义点击事件
//bt_dail.setOnClickListener(new MyListener());
//2.采用匿名内部类的方法创建点击事件
/*
* bt_dail.setOnClickListener<span style="color:#ff6666;">(</span>new OnClickListener() {
@Override
public void onClick(View v) {
callPhone();
}
}<span style="color:#ff6666;">)</span>;
*/
//3.让activity实现点击事件的接口
//bt_dail.setOnClickListener(this);
}
//4.在布局文件里面绑定一个点击的方法
public void dailButtonClicked(View view){
callPhone();
}
private void callPhone() {
String number = et_number.getText().toString().trim();
if(TextUtils.isEmpty(number)){
Toast toast = Toast.makeText(MainActivity.this, "号码 不能为空", Toast.LENGTH_LONG);
toast.show();
return;
}
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
}
//1.内部类的点击事件的实现
/*private class MyListener implements OnClickListener{
//当按钮被点击时候的实现方法
@Override
public void onClick(View v) {
callPhone();
}
}*/
//3.接口里面未实现的方法
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt_dail:
callPhone();
}
}
}
总结:
1、创建一个内部类,实现点击事件;
2、用匿名内部类实现点击事件;
3、让activity自己实现点击事件,activity中所有的button都会调用xxx.setOnClickListener(this);在activity中利用switch语句实现各自xxx对应的实现方法;
public void onClick(View v){
<span style="white-space:pre"> </span>switch (v.getId()) {
case R.id.bt_dail:
callPhone();
}
}
4、在布局文件里绑定一个实现方法;
<Button
android:onClick="dailButtonClicked"
android:id="@+id/bt_dail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/et_number"
android:text="@string/dail" />
然后在activity中加入实现方法:
public void dailButtonClicked(View view){
callPhone();
}