android三种监听方法

  package eoe.demo;
  import android.app.Activity;
  import android.os.Bundle;
  import android.view.View;
  import android.view.View.OnClickListener;
  import android.widget.Button;
  import android.widget.Toast;
  /**
  * @author Slemi
  * 掌握对监听的方式方法
  *实际上这三种方法都是一样的,他们都是调用OnClickListener类中的抽象方法onClick,
  只是具体的调用方式不一样
  */
  public class test extends Activity implements OnClickListener{
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  Button button1=(Button)findViewById(R.id.button1);
  Button button2=(Button)findViewById(R.id.button2);
  Button button3=(Button)findViewById(R.id.button3);

  // 第一种 监听方式如下所示 ,自己设计个监听类,监听的方法引用OnClickListener中的方法
  button1.setOnClickListener(new MyButtonListener());


  /**第二种监听方式, 其中的this相当于new OnClickListener()对象
  * 即class test 中的一个对象,而如果要用这种方式的话,public void onClick 方法必须写在该test类中,
  * 即this对象可以直接调用该方法*/
  button2.setOnClickListener(this);


  /**第三种监听方式
  * */
  button3.setOnClickListener(new OnClickListener(){ //或者是new Button.OnClickListener
  //3 @Override
  public void onClick(View v) {
  Toast.makeText(test.this, "这是第三种监听方式",Toast.LENGTH_LONG).show();
  // TODO Auto-generated method stub
  }
  });
  }


  //2
  @Override
  public void onClick(View v) {
  // TODO Auto-generated method stub
  Toast.makeText(test.this, "这是第二种监听方式", Toast.LENGTH_LONG).show();
  }


  //内部 监听类
  class MyButtonListener implements OnClickListener{
  //1
  public void onClick(View v) {
  Toast.makeText(test.this, "这是第一种监听方式",Toast.LENGTH_LONG).show();
  // TODO Auto-generated method stub
  }
  }
  }

你可能感兴趣的:(android编程)