您的位置:首页 > 产品设计 > UI/UE

Android UI系列:关于按钮点击事件

2013-11-10 12:55 363 查看
关于android的按钮,我们常用的只要有Button、ImageButton等,今天总结一下按钮点击事件,点击事件主要有以下几种方法

<Button
android:id="@+id/button"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="拔打" />


方法一、按钮直接调用setOnClickListener()方法

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

button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String mobile_str= mobile.getText().toString();
if(null == mobile_str|| "".equals(mobile_str.trim())){
mobile.setError("电话号码不能为空!");
mobile.requestFocus();
}else{
Log.i("EditTextActivity", "其它业务逻辑处理。");
}
}
});


方法二、声明OnClickListener属性

OnClickListener buttonClick=  new OnClickListener(){

@Override
public void onClick(View v) {
String mobile_str= mobile.getText().toString();
if(null == mobile_str|| "".equals(mobile_str.trim())){
mobile.setError("电话号码不能为空!");
mobile.requestFocus();
}else{
Log.i("EditTextActivity", "其它业务逻辑处理。");
}
}
};

button.setOnClickListener(buttonClick);


方法三、声明类,并实现OnClickListener接口

class ButtonClick implements OnClickListener{
@Override
public void onClick(View v) {
String mobile_str= mobile.getText().toString();
if(null == mobile_str|| "".equals(mobile_str.trim())){
mobile.setError("电话号码不能为空!");
mobile.requestFocus();
}else{
Log.i("EditTextActivity", "其它业务逻辑处理。");
}
}
}


之后再调用该用类

button.setOnClickListener(new ButtonClick());

方法四、声明一个方法 ,并在xml布局里调用

public void buttonOnClick>(View view){
String mobile_str= mobile.getText().toString();
if(null == mobile_str|| "".equals(mobile_str.trim())){
mobile.setError("电话号码不能为空!");
mobile.requestFocus();
}else{
Log.i("EditTextActivity", "其它业务逻辑处理。");
}
}


之后在布局android:onClick调用该方法

<Button
android:id="@+id/button"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:onClick="buttonOnClick"
android:text="拔打" />


注意:方法要带有一个参数View

四种方法总结完毕,我比较喜欢第四种方法,代码看起来比较舒服。呵呵
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android button 点击