android学习之4种点击事件的响应方式
如题,下面就一一列出对点击事件响应的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闂佹寧绋戦懟顖炲矗瑜嶉埢鏃堝Ω閿濆倸浜惧┑鐘辫兌椤愪粙鏌¢崒婊庢敯濞寸姴鐗撻幆鍕偄閾忓湱效闂侀潧妫楅鍛閺囩喓鈹嶉柍銉ュ暱瑜板棗霉閸忕⒈娈旂憸甯嫹
>更多相关文章
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 03-08消息称微软开发内部AI推理模型,或将成为Op
- 03-08美国法院驳回马斯克请求,未阻止OpenAI转型
- 03-08饿了么成立即时配送算法专家委员会 持续全局
- 03-08长安汽车:预计今年底长安飞行汽车将完成试
- 03-08谷歌推出虚拟试穿、AR美妆新功能
相关文章
24小时热门资讯
24小时回复排行
热门推荐
最新资讯
操作系统
黑客防御