安卓中点击事件的四种方法

来源:互联网 发布:2017网络流行语口头禅 编辑:程序博客网 时间:2024/06/05 14:45


第一种写法:实现监听事件

public class MainActivity extends Activity{
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button bt1=(Button)findViewById(R.id.bt1);

Bt1.setOnClickListener(new MyButtonListener());

}

private class MyButtonListener implements OnClickListener{
public void onClick(View v){

Toast.makeText(MainActivity.this,”我被点击了”,0).show();

}

}

 

第二种写法activity实现点击事件的接口,应用场景是界面里面的按钮非常多

public class MainActivityextends Activityimplements OnClickListener{

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button bt1 = (Button) findViewById(R.id.button1);

Button bt2 = (Button) findViewById(R.id.button2);

Button bt3 = (Button) findViewById(R.id.button3);

Button bt4 = (Button) findViewById(R.id.button4);

bt1.setOnClickListener(this);

bt2.setOnClickListener(this);

bt3.setOnClickListener(this);

bt4.setOnClickListener(this);

 

}

 

public void onClick(View v) {

switch (v.getId()) {

case R.id.button1:

Toast.makeText(this,"按钮1被点击", 0).show();

break;

case R.id.button2:

Toast.makeText(this,"按钮2被点击", 0).show();

break;

case R.id.button3:

Toast.makeText(this,"按钮3被点击", 0).show();

break;

case R.id.button4:

Toast.makeText(this,"按钮4被点击", 0).show();

break;

}

}

 

}

第三种写法:匿名内部类

public class MainActivityextends Activity {

 

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button bt1 = (Button) findViewById(R.id.button1);

//匿名内部类 ,点击事件的第三种写法

bt1.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

 Toast.makeText(MainActivity.this,"哈哈", 0).show();

}

});

}

}

第四种写法直接在布局xml文件里面指定点击事件的方法名

布局中:

<Button

        android:onClick="gaga"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

         />

java中:

public class MainActivityextends Activity {

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

public void gaga(View view){

Toast.makeText(MainActivity.this,"嘎嘎", 0).show();

}

1 0