安卓中的按钮的四种点击事件

来源:互联网 发布:java 日志采集框架 编辑:程序博客网 时间:2024/05/16 05:14

原文链接:小宁博客

安卓按钮的四大点击事件整理
首先写一下xml文件

<Button    android:id="@+id/button1"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_alignParentLeft="true"    android:layout_below="@+id/editText1"    android:text="拨号" /><Button    android:id="@+id/button2"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_alignParentLeft="true"    android:layout_below="@+id/button1"    android:layout_marginTop="14dp"    android:text="button1" /><Button    android:id="@+id/button3"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_alignBaseline="@+id/button2"    android:layout_alignBottom="@+id/button2"    android:layout_marginLeft="26dp"    android:layout_toRightOf="@+id/button2"    android:text="button2" /><Button    android:id="@+id/button4"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_alignBaseline="@+id/button3"    android:layout_alignBottom="@+id/button3"    android:layout_marginLeft="18dp"    android:layout_toRightOf="@+id/button3"    android:text="button3" /><Button    android:onClick="click"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_alignRight="@+id/button3"    android:layout_below="@+id/button3"    android:layout_marginTop="62dp"    android:text="test" />

点击事件
【1】定义一内部类去实现按钮的点击事件

public class MainActivity extends ActionBarActivity {    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //加载一个布局        setContentView(R.layout.activity_main);        //找到按钮        Button btn_call = (Button) findViewById(R.id.button1);        //给button按钮设置一个点击事件        btn_call.setOnClickListener(new MyClickListener());    }    //定义一个类去实现   按钮需要的接口类型    private class MyClickListener implements OnClickListener{        //当按钮被点击的时候调用        @Override        public void onClick(View v) {            System.out.println("我被点击了");            }        }    }   }

【2】通过匿名内部类去实现

public class MainActivity extends ActionBarActivity {    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //加载一个布局        setContentView(R.layout.activity_main);        //找到按钮        Button btn_call = (Button) findViewById(R.id.button1);        //给button按钮设置一个点击事件        btn_call.setOnClickListener(new OnClickListener() {            public void onClick(View v) {                System.out.println("按钮被点击了");            }        });    }   }

【3】让当前类实现OnClickListener接口类型(用于布局里面有很多按钮需要被点击的时候)

public class MainActivity extends ActionBarActivity implements OnClickListener {        protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        // 加载一个布局        setContentView(R.layout.activity_main);        // 找到按钮        Button btn_call = (Button) findViewById(R.id.button1);        Button btn_call1 = (Button) findViewById(R.id.button2);        Button btn_call2 = (Button) findViewById(R.id.button3);        Button btn_call3 = (Button) findViewById(R.id.button4);        // 给button按钮设置一个点击事件        // 按钮的第三种点击事件        btn_call.setOnClickListener(this);        btn_call1.setOnClickListener(this);        btn_call2.setOnClickListener(this);        btn_call3.setOnClickListener(this);    }    // 当点击按钮的时候执行    public void onClick(View v) {        // 具体判断点击的哪个按钮        switch (v.getId()) {        case R.id.button1:            System.out.println("1按钮被点击了");            break;        case R.id.button2:            System.out.println("2按钮被点击了");            break;        case R.id.button3:            System.out.println("3按钮被点击了");            break;        case R.id.button4:            System.out.println("4按钮被点击了");            break;        default:            break;        }    }}

【4】在按钮的布局上加上一个onClick属性 在Activity里面定义一个方法 方法名和属性名相同(适合自己做一些demo)

public class MainActivity extends ActionBarActivity  {    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        // 加载一个布局        setContentView(R.layout.activity_main);    }    //声明一个方法  方法名和你要点击的这个按钮  在布局中的onClick属于一样    public void click(View v) {        System.out.println("按钮被点击了");    }    }}
原创粉丝点击