你的位置:首页 > 操作系统

[操作系统]Android按钮的四种点击事件


本文记录一下按钮的四种点击事件

第一种

public class MainActivity extends Activity {  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);        //------------第一种----------------------    Button bt1=(Button)findViewById(R.id.bt1);    bt1.setOnClickListener(new MyListener());  }    class MyListener implements OnClickListener{    @Override    public void onClick(View v) {      // TODO Auto-generated method stub      System.out.println("这是第一种");    }  }}

第二种

public class MainActivity extends Activity {  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);        //------------第二种----------------------    Button bt2=(Button)findViewById(R.id.bt2);    bt2.setOnClickListener(new OnClickListener() {            @Override      public void onClick(View v) {        // TODO Auto-generated method stub        System.out.println("这是第二种");              }    });  }    class MyListener implements OnClickListener{    @Override    public void onClick(View v) {      // TODO Auto-generated method stub      System.out.println("这是第一种");    }  }}

代码量比较大,不能重复利用

第三种

public class MainActivity extends Activity implements OnClickListener{  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);        //------------第三种----------------------    Button bt3=(Button)findViewById(R.id.bt3);    bt3.setOnClickListener(this);  }  @Override  public void onClick(View v) {    // TODO Auto-generated method stub    System.out.println("这是第三种");  }}

第四种

在activity_main.

   <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="第四种"     android:onClick="youyiyi"    />

在MainActivity.java中添加下面的代码:

public class MainActivity extends Activity implements OnClickListener{  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);  }    //------------第四种----------------------  //当按钮被点击时,此方法会被调用  public void youyiyi(View v) {    // TODO Auto-generated method stub    System.out.println("这是第四种");  }}

代码结构很差

完整的代码如下:

activity_main.

<LinearLayout ="http://schemas.android.com/apk/res/android"  ="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  android:paddingBottom="@dimen/activity_vertical_margin"  android:paddingLeft="@dimen/activity_horizontal_margin"  android:paddingRight="@dimen/activity_horizontal_margin"  android:paddingTop="@dimen/activity_vertical_margin"  tools:context=".MainActivity" >  <Button    android:id="@+id/bt1"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="第一种" />  <Button    android:id="@+id/bt2"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="第二种" />     <Button    android:id="@+id/bt3"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="第三种" />      <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="第四种"     android:onClick="youyiyi"    /></LinearLayout>

MainActivity.java

package com.wuyudong.clickevent;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity implements OnClickListener{  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);        //------------第一种----------------------    Button bt1=(Button)findViewById(R.id.bt1);    bt1.setOnClickListener(new MyListener());    //------------第一种----------------------    //------------第二种----------------------    Button bt2=(Button)findViewById(R.id.bt2);    bt2.setOnClickListener(new OnClickListener() {            @Override      public void onClick(View v) {        // TODO Auto-generated method stub        System.out.println("这是第二种");              }    });    //------------第二种----------------------        //------------第三种----------------------    Button bt3=(Button)findViewById(R.id.bt3);    bt3.setOnClickListener(this);        //------------第三种----------------------  }    class MyListener implements OnClickListener{    @Override    public void onClick(View v) {      // TODO Auto-generated method stub      System.out.println("这是第一种");    }  }  @Override  public void onClick(View v) {    // TODO Auto-generated method stub    System.out.println("这是第三种");      }    //------------第四种----------------------  //当按钮被点击时,此方法会被调用  public void youyiyi(View v) {    // TODO Auto-generated method stub    System.out.println("这是第四种");  }}