Android 按钮点击事件 四种实现方式

一、第一种实现方式,使用内部类(少用)

(1)UI Xml

点击(此处)折叠或打开

  1. <TextView
  2.         android:id="@+id/textView1"
  3.         android:layout_width="match_parent"
  4.         android:layout_height="wrap_content"
  5.         android:text="请输入手机号" />

  6.     <EditText
  7.         android:id="@+id/editText1"
  8.         android:layout_width="match_parent"
  9.         android:layout_height="wrap_content"
  10.         android:layout_alignParentLeft="true"
  11.         android:layout_below="@+id/textView1"
  12.         android:layout_marginTop="20dp">
  13.     </EditText>

  14.     <Button
  15.         android:id="@+id/button1"
  16.         android:layout_width="wrap_content"
  17.         android:layout_height="wrap_content"
  18.         android:layout_alignParentLeft="true"
  19.         android:layout_below="@+id/editText1"
  20.         android:layout_marginTop="22dp"
  21.         android:text="拨打" />

(2)代码实现

点击(此处)折叠或打开

  1. @Override
  2.     protected void onCreate(Bundle savedInstanceState) {
  3.         super.onCreate(savedInstanceState);
  4.         setContentView(R.layout.activity_main);
  5.         
  6.         //找到我们关心的控件EditText Button
  7.         editText = (EditText) findViewById(R.id.editText1);
  8.         
  9.         //找到按钮
  10.         button = (Button) findViewById(R.id.button1);
  11.         
  12.         //给button设置一个点击事件
  13.         
  14.         button.setOnClickListener(new MyClickListener());
  15.     }
  16.     
  17.     //定义一个类去实现 按钮需要的接口类型
  18.     private class MyClickListener implements OnClickListener{

  19.         @Override
  20.         public void onClick(View v) {
  21.             //获取EditText文本内容
  22.             String number = editText.getText().toString().trim();
  23.             if("".equals(number)){
  24.                 Toast.makeText(getApplicationContext(), number, 3).show();
  25.             }
  26.             System.out.println("按钮被点击了");
  27.         }
  28.     }


二、第二种实现方式,匿名内部类

(1)UI Xml

点击(此处)折叠或打开

  1. <TextView
  2.         android:id="@+id/textView1"
  3.         android:layout_width="match_parent"
  4.         android:layout_height="wrap_content"
  5.         android:text="请输入手机号" />

  6.     <EditText
  7.         android:id="@+id/editText1"
  8.         android:layout_width="match_parent"
  9.         android:layout_height="wrap_content"
  10.         android:layout_alignParentLeft="true"
  11.         android:layout_below="@+id/textView1"
  12.         android:layout_marginTop="20dp">
  13.     </EditText>

  14.     <Button
  15.         android:id="@+id/button1"
  16.         android:layout_width="wrap_content"
  17.         android:layout_height="wrap_content"
  18.         android:layout_alignParentLeft="true"
  19.         android:layout_below="@+id/editText1"
  20.         android:layout_marginTop="22dp"
  21.         android:text="拨打" />

(2)代码实现

点击(此处)折叠或打开

  1. @Override
  2.     protected void onCreate(Bundle savedInstanceState) {
  3.         super.onCreate(savedInstanceState);
  4.         setContentView(R.layout.activity_main);
  5.         
  6.         //找到我们关心的控件EditText Button
  7.         editText = (EditText) findViewById(R.id.editText1);
  8.         
  9.         //找到按钮
  10.         button = (Button) findViewById(R.id.button1);
  11.         
  12.         //给button设置一个点击事件
  13.         
  14.         button.setOnClickListener(new OnClickListener() {
  15.             
  16.             @Override
  17.             public void onClick(View v) {
  18.                 //获取EditText文本内容
  19.                 String number = editText.getText().toString().trim();
  20.                 if("".equals(number)){
  21.                     Toast.makeText(getApplicationContext(), number, 3).show();
  22.                 }
  23.                 System.out.println("按钮被点击了");
  24.             }
  25.         });
  26.     }


三、第三种实现方式,在XML中使用Onclick属性(很少用)

(1)UI Xml

点击(此处)折叠或打开

  1. <TextView
  2.         android:id="@+id/textView1"
  3.         android:layout_width="match_parent"
  4.         android:layout_height="wrap_content"
  5.         android:text="请输入手机号" />

  6.     <EditText
  7.         android:id="@+id/editText1"
  8.         android:layout_width="match_parent"
  9.         android:layout_height="wrap_content"
  10.         android:layout_alignParentLeft="true"
  11.         android:layout_below="@+id/textView1"
  12.         android:layout_marginTop="20dp">
  13.     </EditText>

  14.     <Button
  15.         android:onClick="click"
  16.         android:id="@+id/button1"
  17.         android:layout_width="wrap_content"
  18.         android:layout_height="wrap_content"
  19.         android:layout_alignParentLeft="true"
  20.         android:layout_below="@+id/editText1"
  21.         android:layout_marginTop="22dp"
  22.         android:text="拨打" />

(2)代码实现

点击(此处)折叠或打开

  1. @Override
  2.     protected void onCreate(Bundle savedInstanceState) {
  3.         super.onCreate(savedInstanceState);
  4.         setContentView(R.layout.activity_main);

  5.     }
  6.     
  7.     private void onclick(View v) {
  8.         //找到我们关心的控件EditText Button
  9.         EditText editText = (EditText) findViewById(R.id.editText1);
  10.         
  11.         //找到按钮
  12.         Button button = (Button) findViewById(R.id.button1);
  13.         //获取EditText文本内容
  14.         String number = editText.getText().toString().trim();
  15.         if("".equals(number)){
  16.             Toast.makeText(getApplicationContext(), number, 3).show();
  17.         }
  18.         System.out.println("按钮被点击了");
  19.     }

四、第四种实现方式,Activity实现View.OnClickListener接口(最常用)

(1)UI Xml

点击(此处)折叠或打开

  1. <TextView
  2.         android:id="@+id/textView1"
  3.         android:layout_width="match_parent"
  4.         android:layout_height="wrap_content"
  5.         android:text="请输入手机号" />

  6.     <EditText
  7.         android:id="@+id/editText1"
  8.         android:layout_width="match_parent"
  9.         android:layout_height="wrap_content"
  10.         android:layout_alignParentLeft="true"
  11.         android:layout_below="@+id/textView1"
  12.         android:layout_marginTop="20dp">
  13.     </EditText>

  14.     <Button
  15.         android:onClick="click"
  16.         android:id="@+id/button1"
  17.         android:layout_width="wrap_content"
  18.         android:layout_height="wrap_content"
  19.         android:layout_alignParentLeft="true"
  20.         android:layout_below="@+id/editText1"
  21.         android:layout_marginTop="22dp"
  22.         android:text="拨打1" />
  23.     <Button
  24.         android:onClick="click"
  25.         android:id="@+id/button2"
  26.         android:layout_width="wrap_content"
  27.         android:layout_height="wrap_content"
  28.         android:layout_alignParentLeft="true"
  29.         android:layout_below="@+id/editText1"
  30.         android:layout_marginTop="22dp"
  31.         android:text="拨打2" />

(2)代码实现

点击(此处)折叠或打开

  1. public class MainActivity extends Activity implements OnClickListener{
  2.     
  3.     @Override
  4.     protected void onCreate(Bundle savedInstanceState) {
  5.         super.onCreate(savedInstanceState);
  6.         setContentView(R.layout.activity_main);

  7.     }

  8.     @Override
  9.     public void onClick(View v) {

  10.         switch (v.getId()) {
  11.         case R.id.button1:
  12.             Toast.makeText(getApplicationContext(), "提示信息", Toast.LENGTH_SHORT).show();
  13.             break;
  14.         case R.id.button2:
  15.             Toast.makeText(getApplicationContext(), "提示信息", Toast.LENGTH_SHORT).show();
  16.             break;

  17.         default:
  18.             break;
  19.         }
  20.         
  21.     }
  22.     
  23. }













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值