Android中四种OnClick事件的写法

package com.example.dailphone;



import android.support.v7.app.ActionBarActivity;

import android.support.v7.app.ActionBar;

import android.support.v4.app.Fragment;

import android.text.TextUtils;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

import android.os.Build;



public class MainActivity extends ActionBarActivity implements OnClickListener{

	

	/** 拨打电话按钮 */

	private Button bt_dail;

	

	/** 输入电话时的文本框 */

	private EditText et_number;



	@Override

	protected void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_main);

		//获得按钮

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

	    //获得文本框

	    et_number = (EditText) MainActivity.this.findViewById(R.id.et_number);

	    //给按钮添加事件

	    //1. 创建一个内部类定义点击事件

		//bt_dail.setOnClickListener(new MyLisenner());

		

	    //2. new一个匿名内部类定义点击事件

	   /* bt_dail.setOnClickListener(new OnClickListener() {

			

			@Override

			public void onClick(View v) {

				callPhone();

			}

		});*/

	    

	    //3. MainActivity 实现 OnClickListener接口 , 常用方法,通过view的ID+switch实现多个事件

	    //bt_dail.setOnClickListener(this);

	    

	    

	   

	}

	//4. 在布局里文件面绑定一个点击的方法

	/*

	 *   <Button

        android:onClick="dailButtonOnClicked"

        android:id="@+id/bt_dail"

        android:layout_marginTop="40dp"

        android:layout_marginLeft="200dp"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="@string/dail" />

	 */

    public  void dailButtonOnClicked(View v) {

	     callPhone();

	}

	private class MyLisenner implements OnClickListener {

		@Override

		public void onClick(View v) {

			callPhone();

		}

	}

	

	@Override

	public void onClick(View v) {

		switch (v.getId()) {

		case R.id.bt_dail:

			callPhone();

			break;



		default:

			break;

		}

	}

	

	//拨打电话

	private void callPhone() {

		String number = et_number.getText().toString().trim();

		//判空操作给出"吐丝"提示

		if (TextUtils.isEmpty(number)) {

			Toast toast = Toast.makeText(MainActivity.this, "号码不能为空", Toast.LENGTH_SHORT);

			toast.show();

			return ;

		}

		//意图, 想干一件什么事情  (泡茶)

		Intent intent = new Intent();

		intent.setAction(Intent.ACTION_CALL);

		intent.setData(Uri.parse("tel:" + number));

		startActivity(intent);

	}

	



}

  

 

你可能感兴趣的:(android)