在UI组件中定义一个Button时我们往往会给按钮设置一个监听器,以此在点击按钮的时候,做出相应的响应动作。
如定义一个按钮:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="80dp">
<Button
android:id="@+id/Login_button"
android:layout_width="230dp"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:layout_marginLeft="45dp"
android:background="@color/cornflowerblue"
android:<span style="color:#FF0000;">onClick="Login"</span>
android:text="登 录" />
</LinearLayout>
第一种方法:
在Xml文件中通过onClick="方法名",如上面代码红色部分。
在Activity中书写方法:public void 方法名(View view){……},无需实现监听器借口就可以调用该方法去响应。
第二种方法:采用匿名内部类的方式:
/**
* 定义一个按钮
*/
private Button button;
//获取button
this.button = (Button) findViewById(R.id.button1);
button.setOnClickListener(newOnClickListener(){
publicvoid onClick(View view){
…………
}
});
第三种方法:采用内部类的方式
private final class MyOnClickListenerimplements OnClickListener{
publicvoid onClick(View v) {
………………
}
}
button.setOnClickListener(newMyOnClickListener());
第四中方法:让当前Activity实现OnClickListener接口
public classMainActivity extends Activity implements OnClickListener {
public void onClick(View v) {
……………………
}
}
button.setOnClickListener(this);