您的位置:首页 > 移动开发 > Android开发

Android攻城狮—监听(按钮)点击事件

2016-11-10 00:00 405 查看

onClick事件

所有的控件都有一个onClick事件,包括Button和ImageButton。

通过自身的.setOnClickListener(OnClickListener)方法添加点击事件

通过点击事件的监听可以实现点击按钮之后要发生什么动作

监听事件的实现方法

匿名内部类的实现

public class MainActivity extends Activity {
/*
* 第一种方式:匿名内部类
*/
private Button wordButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

/*
* 1.初始化当前所需的一个控件
* findViewById --返回的是一个View的对象
*
* 2.设置Button的监听器,通过监听器实现点击Button所要操作的事情
*/
wordButton = (Button)findViewById(R.id.button1);
//之所以用(Button)是因为findViewById返回的是一个View的对象,"View是所有控件的一个父类"

wordButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// 在当前onClick方法中监听Button的动作
System.out.println("我的按钮被点击了");
}
});

}
}
运行结果>>监听到点击事件后执行类中的方法(即控制台输出“我的按钮被点击了”)。

独立类的实现

/*
*第二种方式:独立类
*/
public class MainActivity extends Activity {
//Button对象
private Button wordButton;
private ImageButton imageButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

wordButton = (Button)findViewById(R.id.button1);
wordButton.setOnClickListener(new MyClick() {
//调用父类的OnClick
@Override
public void onClick(View v){
super.onClick(v);
Toast.makeText(MainActivity.this,"wordbutoon", 1).show();
}

});

imageButton = (ImageButton)findViewById(R.id.imageButton1);
imageButton.setOnClickListener(new MyClick() {
//调用父类的OnClick
@Override
public void onClick(View v){
super.onClick(v);
Toast.makeText(MainActivity.this,"imagebutoon", 1).show();
}

});

}
}

/*
* 独立类
*/
class MyClick implements  OnClickListener{

@Override
public void onClick(View v) {
// 让所有试用当前外部类的点击事件的按钮都要做出一个动作(改变透明度)
v.setAlpha(0.5f);
}
}
//[实际应用]:需求让多个按钮实现同一种动作的时候,可用此方法,简化代码。
运行结果>>监听到按钮点击事件后实现独立类中的方法(即点击按钮,透明度发生改变)。

实现接口的方式来实现

/*
* 第三种方式:接口
*/
public class MainActivity extends Activity implements OnClickListener{

private Button wordButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

wordButton = (Button)findViewById(R.id.button1);
wordButton.setOnClickListener(this);
}

@Override
public void onClick(View arg0) {
Log.i("tog","第三种方式"); //Log用来打印日志
}
}
运行结果>>监听到按钮点击事件后实现方法(即打印日志)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android