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中四种OnClick事件的写法,布布扣,bubuko.com
原文:http://www.cnblogs.com/E-star/p/3841705.html