android 按钮点击事件的四种方法

来源:互联网 发布:织梦dedecms免费模板 编辑:程序博客网 时间:2024/06/05 10:52
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;
}
     
  }

}
0 0