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

自学Android系列 笔记1 Button 点击事件

2015-09-01 22:45 429 查看
Button基本使用方法
首先,添加Button控件到XML布局文件中。也可通过程序添加。
  在布局文件中设置按钮的一些属性,如位置,宽高,按钮上的字,颜色等。
  比较重要的是要给按钮一个id号,这是按钮唯一的名字。
  这样在程序中可以通过如下形式获得按钮:
button=(Button)findViewById(R.id.buttonId);

处理按钮点击

  按钮点击有两种处理方法。
  第一种是通过onClick属性,通过这个属性设置处理点击事件的方法名,在Activity中实现这个方法。
  另一种方法是典型的事件监听机制的应用形式,下面详细说明这两种方法。

1.通过onClick属性设置处理方法

  在XML布局文件中设置Button的属性:
android:onClick="yourMethodName"
  然后在该布局文件对应的Acitivity中实现该方法:
/**Calledwhentheusertouchesthebutton*/



publicvoidyourMethodName(Viewview)



  {



//Dosomethinginresponsetobuttonclick

}

需要注意的是这个方法必须符合三个条件:
1.public
2.返回void
3.只有一个参数View,这个View就是被点击的这个控件。

2.使用setOnClickListener添加监听器对象

可以写一个内部类,实现OnClickListener接口,在这个类中实现onClick方法,方法里面写在按钮点击时想做的具体工作。
  将这个内部类的对象传入按钮的setOnClickListener方法中,即完成监听器对象和按钮的绑定(在事件源Button上注册了事件监听器),这时候只要按钮被点击,那么监听器对象的onClick方法就会被调用。
当然这里也不一定要自己写一个内部类出来,比如这个例子



Buttonbutton=(Button)findViewById(R.id.button_send);


button.setOnClickListener(newView.OnClickListener(){

publicvoidonClick(Viewv)


   {


//Dosomethinginresponsetobuttonclick


  }


  });




实现窗口的跳转:假设用第一种方法

1.布局好两个窗口

2.在第一个窗口的java代码中,加入在第二个窗口的button的声明的yourMethodName方法,方法中定义意图intent,然后启动,具体代码如下:

publicvoidyourMethodName(Viewv){

Intentintent=
newIntent(MainActivity.this,Three.class);



startActivity(intent);



}

注意:Three为你要跳转的下一个窗口的代码类

所以,在第二个窗口的代码的onCreat方法中,要编写如下代码:setContentView(R.layout.three);

即,设置当前视图为three.xml





点击事件的三种方式:

1.如果是单个按钮,建议使用匿名内部类的方法

button.setOnClickListener(newView.OnClickListener(){

//@Override

//publicvoidonClick(Viewv){

////
TODOAuto-generatedmethodstub

//Toast.makeText(MainActivity.this,"clickbutton1",1).show();

//}

//});



2.如果是多个按钮,可以使用,实现OnClickListener接口的方法,

publicclassMainActivity
extendsActivity
implementsOnClickListener{

privateButton
button1;

privateButton
button2;

privateButton
button3;



@Override

protectedvoid
onCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

button=(Button)
this.findViewById(R.id.button1);

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

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

button1.setOnClickListener(this);

button2.setOnClickListener(this);

button3.setOnClickListener(this);



@Override

publicvoid
onClick(Viewv){

//
TODOAuto-generatedmethodstub

switch(v.getId()){

caseR.id.button1:

Toast.makeText(MainActivity.this,
"button1",1).show();

break;



caseR.id.button2:

Toast.makeText(MainActivity.this,
"button2",1).show();

break;

caseR.id.button3:

Toast.makeText(MainActivity.this,
"button3",1).show();

break;

}

}



3.xml定义的方式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: