每日日报
按钮的点击事件
①有名内部类
private class MyonclickListener implements OnClickListener{@Overridepublic void onClick(View v) {//当控件被点击的时候就会调用这个onclick方法//①获取用户的输入String number = et_number.getText().toString();//②判断用户输入是否为空if(TextUtils.isEmpty(number)){//如果为空 提示用户输入内容//Toast.makeText 向界面输出一个短暂的提示//第一个参数 上下文context Activity就是一个上下文 可以传入当前activity对象//第二个参数 要显示的提示文字//第三个参数 显示提示的时间长度 Toast.LENGTH_SHORT(显示的时长较短) Toast.LENGTH_LONG(显示时间稍长)//不要忘记要调用show()方法 显示这个ToastToast.makeText(MainActivity.this, "电话号码不能为空", Toast.LENGTH_SHORT).show();System.out.println("用户输入是空的");}else{//如果不为空 用获取的电话号码 打电话System.out.println("打电话:"+number);//Intent 意图 就是对要进行的操作的抽象描述Intent intent = new Intent();//给意图设置要操作的动作 打电话的动作 ACTION_CALLintent.setAction(Intent.ACTION_CALL);//给意图设置要携带的数据//URL 统一资源定位符 http:// ftp:// https:// abc:////uri 统一资源标示符 可以自定义协议 url 子类父类的关系Uri data = Uri.parse("tel:"+number);intent.setData(data);//开启打电话的activity(打电话的界面)startActivity(intent);}}}
②匿名内部类
public class MainActivity extends Activity {private EditText et_number;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//找到要操作的控件et_number = (EditText) findViewById(R.id.editText1);Button btn_call = (Button) findViewById(R.id.button1);//给按钮添加点击事件 匿名内部类btn_call.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//获取用户输入String number = et_number.getText().toString().trim();//判断输入是否为空if(TextUtils.isEmpty(number)){//为空提示用户Toast.makeText(MainActivity.this, "输入不能为空", Toast.LENGTH_SHORT).show();}else{//不为空打电话Intent intent = new Intent();//指定动作intent.setAction(Intent.ACTION_CALL);//设置数据intent.setData(Uri.parse("tel:"+number));startActivity(intent);}}});}}
③Activity实现接口
public class MainActivity extends Activity implements OnClickListener {private EditText et_number;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 把布局文件加载到界面上setContentView(R.layout.activity_main);// 找到关心的控件et_number = (EditText) findViewById(R.id.editText1);Button btn_call = (Button) findViewById(R.id.button1);Button btn2 = (Button) findViewById(R.id.button2);Button btn3 = (Button) findViewById(R.id.button3);btn_call.setOnClickListener(this);btn2.setOnClickListener(this);btn3.setOnClickListener(this);}@Overridepublic void onClick(View v) {// View v 参数 当控件被点击的时候 被点击的对象就会作为参数传进来 可以通过控件的id进行区分int id = v.getId();switch (id) {case R.id.button1:String number = et_number.getText().toString().trim();if (TextUtils.isEmpty(number)) {Toast.makeText(this, "输入不能为空", Toast.LENGTH_SHORT).show();} else {Intent intent = new Intent();intent.setAction(Intent.ACTION_CALL);intent.setData(Uri.parse("tel:" + number));startActivity(intent);}break;case R.id.button2:Toast.makeText(this, "按钮2被点击", Toast.LENGTH_SHORT).show();break;case R.id.button3:Toast.makeText(this, "按钮3被点击", Toast.LENGTH_SHORT).show();break;}}}

浙公网安备 33010602011771号