第一种点击事件(电话拨号器案例):内部类实现(最后需要在清单文件添加拨打电话的权限)
1 package com.lidaochen.phonecall; 2 3 import android.content.Intent; 4 import android.net.Uri; 5 import android.support.v7.app.AppCompatActivity; 6 import android.os.Bundle; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.EditText; 10 import android.widget.Toast; 11 12 public class MainActivity extends AppCompatActivity { 13 private EditText et_number; 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_main); 18 // 1、找到EditText控件 19 et_number = (EditText)findViewById(R.id.EditText); 20 // 2、找到Button控件 21 Button btn_call = (Button)findViewById(R.id.Button); 22 // 3、给Button按钮设置一个点击事件 23 btn_call.setOnClickListener(new MyClickListener()); 24 } 25 // 定义一个类去实现 按钮需要的接口类型 26 private class MyClickListener implements View.OnClickListener{ 27 @Override 28 public void onClick(View v){ 29 // 4、获取EditText控件内容 30 String number = et_number.getText().toString().trim(); 31 if("".equals(number)) 32 { 33 Toast.makeText(MainActivity.this, "number不能为空", Toast.LENGTH_LONG).show(); 34 } 35 // System.out.println("按钮被点击了!" + number); 36 // 5、进行拨打电话 37 // 创建一个意图 38 Intent intent = new Intent(); 39 // 设置动作 40 intent.setAction(Intent.ACTION_CALL); 41 // 设置要拨打的数据 42 intent.setData(Uri.parse("tel" + number)); 43 // 开启意图 44 startActivity(intent); 45 } 46 } 47 }
第二种点击事件:匿名内部类实现
1 package com.lidaochen.phonecall; 2 3 import android.content.Intent; 4 import android.net.Uri; 5 import android.support.v7.app.AppCompatActivity; 6 import android.os.Bundle; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.EditText; 10 import android.widget.Toast; 11 12 public class MainActivity extends AppCompatActivity { 13 private EditText et_number; 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_main); 18 // 1、找到EditText控件 19 et_number = (EditText)findViewById(R.id.EditText); 20 // 2、找到Button控件 21 Button btn_call = (Button)findViewById(R.id.Button); 22 // 3、给Button按钮设置一个点击事件 23 btn_call.setOnClickListener(new View.OnClickListener() { 24 @Override 25 public void onClick(View v) { 26 Toast.makeText(MainActivity.this, "Hello World!", 1).show(); 27 } 28 }); 29 } 30 }
第三种点击事件:(比较适合按钮比较多的情况)
package com.lidaochen.phonecall; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TabHost; import android.widget.ThemedSpinnerAdapter; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private EditText et_number; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 1、找到EditText控件 et_number = (EditText)findViewById(R.id.EditText); // 2、找到Button控件 Button btn_call1 = (Button)findViewById(R.id.Button1); Button btn_call2 = (Button)findViewById(R.id.button); Button btn_call3 = (Button)findViewById(R.id.button2); // 3、给Button按钮设置一个点击事件 btn_call1.setOnClickListener(this); btn_call2.setOnClickListener(this); btn_call3.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.Button1: Toast.makeText(this, "Hello1", Toast.LENGTH_LONG).show(); break; case R.id.button: Toast.makeText(this, "Hello2", Toast.LENGTH_LONG).show(); break; case R.id.button2: Toast.makeText(this, "Hello3", Toast.LENGTH_LONG).show(); break; default: break; } } }
第四种点击事件:XML文件中设置按钮的OnClick属性
package com.lidaochen.phonecall; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TabHost; import android.widget.ThemedSpinnerAdapter; import android.widget.Toast; public class MainActivity extends AppCompatActivity{ private EditText et_number; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click(View v) { Toast.makeText(this, "Hello World!", Toast.LENGTH_SHORT).show(); } }