首页 > 代码库 > Android中四种OnClick事件的写法

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);	}	}