android 按钮的点击事件四种方法;
一般来说每个组件都有自已的点击方法。下面我来说下按钮的四种点击方法
方法一,采用匿名内部类的方法:
public class PhoneActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button =(Button) this.findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//要实现的代码
}
});
}
}
方法二,采用内部类实现OnClickListener接口:
button.setOnClickListener(new ButtonClikListener());
private final class ButtonClikListener implements View.OnClickListener{
@Override
public void onClick(View v) {
//要实现的代码
}
}
方法三,采用在xml绑定的方法
在布局文件里按钮组件中添加onClick,在activity里构造你绑定的名字
如:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:onClick="daiButtonClicked"
android:id="@+id/button"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/button"/>
</LinearLayout>
在activity中
public class PhoneActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void daiButtonClicked(View view)
{
//要实现的代码
}
}
注意:如果你在布局文件中绑定了而没有在Activity中复写方法的话,会报错的
方法四:让本身的Activity去实现OnClickListener接口,复写onClick方法,再用switch方法将按钮的id
这种是在实际开发中经常使用的方法。因为在实际开发中一帮有很多按钮的。
如:
public class PhoneActivity extends Activity implements OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button.setOnClickListener(this);
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button:
callPhone();
break;
}
}
}
一般来说每个组件都有自已的点击方法。下面我来说下按钮的四种点击方法
方法一,采用匿名内部类的方法:
public class PhoneActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button =(Button) this.findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//要实现的代码
}
});
}
}
方法二,采用内部类实现OnClickListener接口:
button.setOnClickListener(new ButtonClikListener());
private final class ButtonClikListener implements View.OnClickListener{
@Override
public void onClick(View v) {
//要实现的代码
}
}
方法三,采用在xml绑定的方法
在布局文件里按钮组件中添加onClick,在activity里构造你绑定的名字
如:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:onClick="daiButtonClicked"
android:id="@+id/button"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/button"/>
</LinearLayout>
在activity中
public class PhoneActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void daiButtonClicked(View view)
{
//要实现的代码
}
}
注意:如果你在布局文件中绑定了而没有在Activity中复写方法的话,会报错的
方法四:让本身的Activity去实现OnClickListener接口,复写onClick方法,再用switch方法将按钮的id
这种是在实际开发中经常使用的方法。因为在实际开发中一帮有很多按钮的。
如:
public class PhoneActivity extends Activity implements OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button.setOnClickListener(this);
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button:
callPhone();
break;
}
}
}