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

浏览:998 ℃
字体:
发布时间: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闂佹寧绋戦懟顖炲矗瑜嶉埢鏃堝Ω閿濆倸浜惧┑鐘辫兌椤愪粙鏌¢崒婊庢敯濞寸姴鐗撻幆鍕偄閾忓湱效闂侀潧妫楅鍛閺囩喓鈹嶉柍銉ュ暱瑜板棗霉閸忕⒈娈旂憸甯嫹
>更多相关文章
24小时热门资讯
24小时回复排行
闁诲孩渚楀В瀛� 闂佸綊娼цぐ鐐电箔閵忋倕妫樼痪顓炴噸缁捇鏌i埡瀣
闂佸憡姊婚崑鐔煎箖婵犲啫顕辨慨姗嗗墯閸狅拷 闁诲孩鍐婚梽鍕繆瑜斿鐢割敍濮橆剛鍘掓繛鎴炴尰缁秹寮婚悢鍏煎殏闁哄啫鍊圭粈锟�
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2025 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();