关闭

android下的点击事件的4种形式

348人阅读 评论(0) 收藏 举报
分类:

(1) <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/edittext"
        android:text="拨打此号码" />

 

 public void clickCall(View v) {
     // 首先取出号码
     
     EditText etNumber = (EditText) findViewById(R.id.edittext);  // 找到可编辑文本框对象
     String number = etNumber.getText().toString();  // 取出号码
     
     // 判断是否输入了手机号
     if(TextUtils.isEmpty(number)) {
      Toast.makeText(this, "请输入手机号", Toast.LENGTH_SHORT).show();
      return;
     }

 

(2)内部类形式

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);  // 调用父类的onCreate方法
       
        setContentView(R.layout.main);   // 设置当前Actiivty显示的布局
       
        System.out.println("MainActivity1");
       
        etNumber = (EditText) findViewById(R.id.edittext);  // 找到可编辑文本框对象
        findViewById(R.id.button).setOnClickListener(new OnClickListener() {

         /**
          * 当按钮被点击时回调.
          */
   @Override
   public void onClick(View v) {
    call();
   }});
    }

 

(3)常用)

public class MainActivity2 extends Activity implements OnClickListener {   //需要实现接口
 
 private EditText etNumber;

 /**
  * 当显示在屏幕上之前, 创建Activity时, 回调此方法.
  * 通常首先设置要显示的布局, 有可能还会做一些初始化的工作.
  */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);  // 调用父类的onCreate方法
       
        setContentView(R.layout.main);   // 设置当前Actiivty显示的布局
       
        System.out.println("MainActivity2");
       
        etNumber = (EditText) findViewById(R.id.edittext);  // 找到可编辑文本框对象
       
        findViewById(R.id.button).setOnClickListener(this);
    }

    /**
     * 当点击拨打此号码时, 被调用
     * @param v 被点击的那个按钮对象
     */
    public void clickCall(View v) {
     call();
    }

 /**
  * 打电话
  */
 private void call() {
  // 首先取出号码
     
     String number = etNumber.getText().toString();  // 取出号码
     
     // 判断是否输入了手机号
     if(TextUtils.isEmpty(number)) {
      Toast.makeText(this, "请输入手机号", Toast.LENGTH_SHORT).show();
      return;
     }
     
     // 调用系统打电话程序拨打电话.
     
     Intent intent = new Intent();  // 创建一个意图.
     intent.setAction(Intent.ACTION_CALL);  // 指定动作为打电话
     intent.setData(Uri.parse("tel:" + number)); // 指定拨打的号码
     
     startActivity(intent);  // 调用系统拨打电话界面.
 }

 

(4)

public class MainActivity3 extends Activity implements OnClickListener {  //需要实现接口
 
 private EditText etNumber;

 /**
  * 当显示在屏幕上之前, 创建Activity时, 回调此方法.
  * 通常首先设置要显示的布局, 有可能还会做一些初始化的工作.
  */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);  // 调用父类的onCreate方法
       
        setContentView(R.layout.main);   // 设置当前Actiivty显示的布局
       
        System.out.println("MainActivity3");
       
        etNumber = (EditText) findViewById(R.id.edittext);  // 找到可编辑文本框对象
       
        findViewById(R.id.button).setOnClickListener(new MyOnClickListener());
    }
   
    class MyOnClickListener implements OnClickListener{

  @Override
  public void onClick(View v) {
   call();
  }
     
    }

    /**
     * 当点击拨打此号码时, 被调用
     * @param v 被点击的那个按钮对象
     */
    public void clickCall(View v) {
     call();
    }

 


 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:36302次
    • 积分:1120
    • 等级:
    • 排名:千里之外
    • 原创:78篇
    • 转载:9篇
    • 译文:0篇
    • 评论:0条