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闂傚倷鐒︾€笛呯矙閹达附鍤愭い鏍仜閻鎲稿澶婄厺闁哄啫鐗嗘儫闂佹寧绻傞崐鍛婄閹€鏀介柣妯跨簿閸忓本銇勯幇顏嗙煓闁哄矉绻濆畷鎺戔堪鎼淬垺鏆炲┑鐐差嚟婵挳鎮ч幘璇茬畾闁告洦鍨遍崑鍕煣韫囨挻璐¢弫鍫ユ⒒娓氣偓濞佳兾涘Δ鍜佹晞闁告侗鍠氶々鏌ユ煛閸モ晛鏋旈柍鐟扮Ч閺屽秹濡烽妷銉︽瘣閻熸粍婢樺Λ妤呮箒闂佺ǹ绻掗埛鍫濃枔閺冨倹鍠愰悽顖e枟鐎氾拷
>更多相关文章
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 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小时回复排行
热门推荐
最新资讯
操作系统
黑客防御