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
}
}
}