android学习之4种点击事件的响应方式

浏览:996 ℃
字体:
发布时间:2013-12-11 11:03:07
来源:

如题,下面就一一列出对点击事件响应的4种方式:

第一种:内部类的形式:

package com.example.dail;import android.net.Uri;import android.os.Bundle;import android.renderscript.Int2;import android.text.TextUtils;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {	private Button bt_dail = null;	private EditText et_number = null;	@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) findViewById(R.id.et_number);		bt_dail.setOnClickListener(new MyListener());	}	private void callPhone() {		String number = et_number.getText().toString();		if(TextUtils.isEmpty(number)) {			Toast.makeText(MainActivity.this, "号码不能为空", 1).show();		}		Intent intent = new Intent();		intent.setAction(Intent.ACTION_CALL);		intent.setData(Uri.parse("tel:"+number));		startActivity(intent);	}	private class MyListener implements OnClickListener{		@Override		public void onClick(View v) {			// TODO Auto-generated method stub			callPhone();		}			}}
创建一个内部类MyListener实现OnClickListener接口。

第二种:匿名内部类:

package com.example.dail;import android.net.Uri;import android.os.Bundle;import android.renderscript.Int2;import android.text.TextUtils;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {	private Button bt_dail = null;	private EditText et_number = null;	@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) findViewById(R.id.et_number);		bt_dail.setOnClickListener(new OnClickListener(){			public void onClick(View v){				callPhone();			}		});	}	private void callPhone() {		String number = et_number.getText().toString();		if(TextUtils.isEmpty(number)) {			Toast.makeText(MainActivity.this, "号码不能为空", 1).show();		}		Intent intent = new Intent();		intent.setAction(Intent.ACTION_CALL);		intent.setData(Uri.parse("tel:"+number));		startActivity(intent);	}}
第三种:在xml布局文件中,定义onclick的方式

然后再主类里面实现btOnClick方法,

private void btOnClick() {		callPhone();}private void callPhone() {		String number = et_number.getText().toString();		if(TextUtils.isEmpty(number)) {			Toast.makeText(MainActivity.this, "号码不能为空", 1).show();		}		Intent intent = new Intent();		intent.setAction(Intent.ACTION_CALL);		intent.setData(Uri.parse("tel:"+number));		startActivity(intent);}

第四种:让主类实现OnClickListener接口,然后再主类实现未实现的方法

package com.example.dail;import android.net.Uri;import android.os.Bundle;import android.renderscript.Int2;import android.text.TextUtils;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {	private Button bt_dail = null;	private EditText et_number = null;	@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) findViewById(R.id.et_number);		bt_dail.setOnClickListener(this);	}	private void callPhone() {		String number = et_number.getText().toString();		if(TextUtils.isEmpty(number)) {			Toast.makeText(MainActivity.this, "号码不能为空", 1).show();		}		Intent intent = new Intent();		intent.setAction(Intent.ACTION_CALL);		intent.setData(Uri.parse("tel:"+number));		startActivity(intent);	}	@Override	public void onClick(View v) {		callPhone();			}}
如上所述,4种点击事件的响应方式就是如此。


						        

闂傚倷鑳堕、濠勭礄娴兼潙纾块梺顒€绉寸粻鏍煛閸モ晛袥闁稿鎸搁埥澶婄暦閸モ晝鐛ョ紓鍌欒閳ь剙鍟块顓犫偓瑙勬礃缁诲牓骞冮埡鍛彄妞ゆ挾濮虫禍銏犫攽閻戝洨鍒版繛鏉戝楠炲繘鏁撻敓锟�/QQ 1602007闂傚倷鐒︾€笛呯矙閹达附鍤愭い鏍仜閻鎲稿澶婄厺闁哄啫鐗嗘儫闂佹寧绻傞崐鍛婄閹€鏀介柣妯跨簿閸忓本銇勯幇顏嗙煓闁哄矉绻濆畷鎺戔堪鎼淬垺鏆炲┑鐐差嚟婵挳鎮ч幘璇茬畾闁告洦鍨遍崑鍕煣韫囨挻璐¢弫鍫ユ⒒娓氣偓濞佳兾涘Δ鍜佹晞闁告侗鍠氶々鏌ユ煛閸モ晛鏋旈柍鐟扮Ч閺屽秹濡烽妷銉︽瘣閻熸粍婢樺Λ妤呮箒闂佺ǹ绻掗埛鍫濃枔閺冨倹鍠愰悽顖e枟鐎氾拷
>更多相关文章
24小时热门资讯
24小时回复排行
闂備浇顕х€涒晜绗熷Δ鈧閻庢冻鎷� 闂傚倷绀佺紞濠傖缚瑜戦妵鎰版倷閻㈢數鐣堕梺闈涚箞閸婃洖螞濡偐妫い鎾跺仦閸e摜绱掗鑺ュ磳闁哄矉缍侀崺锛勨偓锝庡亜椤忥拷
闂傚倷绀侀幉鈥愁潖婵犳艾纾婚柣鏃傚帶缁犳牕鈹戦悩鎻掓殭妞ゆ洝椴搁幈銊ヮ潨閸℃顫梺鍝ュ閹凤拷 闂備浇顕х€涒晠宕樻繝姘挃闁告洦鍏涚换鍡欐喐閺傛鍤曢柣銏犲閺佸秵鎱ㄥ鍡楀闁告ɑ甯楃换娑㈠箣閻愭潙闉嶇紓渚囧枛缁夌懓顕f繝姘亜闁稿繒鍘у▓蹇涙⒑閸濆嫬鏆欓柛濠傛贡缁牓鏁撻敓锟�
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2025 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();