Android按钮的四种点击事件

时间:2022-01-11 22:33:47

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

第一种

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.xml中添加下面的代码:

     <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.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="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("这是第四种");
}
}