从左侧工具栏,拖入button到界面上,button默认id为button1
1、在Activity中给button绑定监听事件(setOnClickListener),代码如下:
//button绑定监听事件
Button btn = (Button)findViewById(R.id.button1)
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder build = new Builder(MainActivity.this)
build.setMessage("Test").show()
}
})
2、直接在layout.xml中绑定onclick事件;
同时添加对应的监听事件处理函数
public void Test(View v){
AlertDialog.Builder build = new Builder(this)
build.setMessage("Test").show()
}
运行程序,在模拟器/真机中查看效果
点击button,d出Test提示框,说明事件绑定成功。
您可以类似这样,先实例化子页面中的Button控件,然后将实例化后的控件绑定监听事件View view=LayoutInflater.from(context).inflate(R.layout.abc_action_bar_view_list_nav_layout,null) Button button= (Button) view.findViewById(R.id.action_bar) button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //写上点击后要执行的事件 } })当然了,您要在不同页面实现不同的功能的话,您可以将以上代码写在viewPager.setOnPageChangeListener的滚动回调方法当中进行页面滚动的判断,从而执行不同的点击事件。希望能帮到您,如果还有什么问题,欢迎您继续追问。谢谢。android中监听事件添加动作方法/步骤
方法1:在activity组件的oncreate事件中直接定义
这种方法比较简单粗暴, 初学者可以用这种方式,比较容易理解。
Button btn = (Button) findViewById(R.id.myButton)btn .setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //do something } })
方法2:在activity组件实现其接口,这样可以多外控件共享一个接口。
这个方法代码的可读性更强一点哦。
public class TestMedia extends Activity implements View.OnClickListener{ Button btn1 = (Button) findViewById(R.id.myButton1)Button btn2 = (Button) findViewById(R.id.myButton2)btn1 .setOnClickListener()btn2 .setOnClickListener()} public void onClick(View v) { switch (v.getId()) { case R.id. myButton1: //do something break case R.id. myButton2: //do something break }
在onClick函数里面,有的同学喜欢用if结构,那样代码执行效率有点低。用switch结构的,一定要注意break。
3
方法3:类似第二种,这样的好处在于如果需要实现多个监听接口
public class TestMedia extends Activity { Button btn1 = (Button) findViewById(R.id.myButton1)Button btn2 = (Button) findViewById(R.id.myButton2)btn1 .setOnClickListener(new ClickEvent())btn2 .setOnClickListener(new ClickEvent())}class ClickEvent implements View.OnClickListener public void onClick(View v) { switch (v.getId()) { case R.id. myButton1: //do somethingbreak case R.id. myButton2 : //do somethingbreak}
个人推荐使用第三中哦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)