一.匿名内部内方式

此方法整体看上去简单易懂,个人比较常用

xml布局

    

java代码

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 找到按钮控件Button button = (Button) findViewById(R.id.button);// 匿名内部内方式设置点击事件button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//在屏幕上显示提示 Toast 吐司Toast.makeText(MainActivity.this, "匿名内部内方式", Toast.LENGTH_SHORT).show();}});}}

在多个控件都需要实现事件监听时,可见将匿名对象抽取出来,避免多次创建对象占用资源

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 1.找到按钮控件Button button = (Button) findViewById(R.id.button);// 3.设置按钮点击事件button.setOnClickListener(onClickListener);}// 2.得到 OnClickListener 对象OnClickListener onClickListener = new OnClickListener() {@Overridepublic void onClick(View v) {// 可以使用 switch 通过匹配控件id 设置不同的按钮提示不同内容// view.getId() 得到点击的控件的idswitch (v.getId()) {case R.id.button:Toast.makeText(MainActivity.this, "可以使用设置不同内容", Toast.LENGTH_SHORT).show();break;case 2:// 省略break;default:break;}}};}

二.实现OnClickListener接口重写onClick方法

此方法适合用于多个控件实现点击事件监听

public class MainActivity extends Activity implements OnClickListener{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 1.找到按钮控件Button button = (Button) findViewById(R.id.button);// 3.按钮设置点击事件button.setOnClickListener(this);}@Overridepublic void onClick(View v) {// 2.实现OnClickListener接口,然后重写onClick方法Toast.makeText(MainActivity.this, "实现OnClickListener", Toast.LENGTH_SHORT).show();}}
此方法也可以自己创建一个类实现 OnClickListener接口

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 1.找到按钮控件Button button = (Button) findViewById(R.id.button);// 3.按钮设置点击事件button.setOnClickListener(new myOnclickLister());}// 2.自己创建类实现OnClickListener接口,然后重写onClick方法class myOnclickLister implements OnClickListener {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "实现OnClickListener", Toast.LENGTH_SHORT).show();}}}

三.XML种设置按钮的OnClick属性

    

然后在java代码种建立onClick属性对应名字的方法

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}//定义与XML种OnClick属性名字对应的方法 注意在方法参数种加上 View vpublic void btn(View v) {Toast.makeText(MainActivity.this, "设置Onclick属性", Toast.LENGTH_SHORT).show();}}
此方法虽然挺方便,代码简洁,但因为方面命名问题不易让他人读懂,且在多个控件种不方法使用。


更多相关文章

  1. android TextView控件文字下划线
  2. android 获取view在屏幕中的位置
  3. Android进行数字签名的方法
  4. Android唤醒屏幕按键
  5. android studio 解决65536的方法(64K)
  6. 设置Activity为全屏显示的两种方法
  7. 2013最新Android常用的工具类整理
  8. 【Android(安卓)应用开发】Activity 状态保存 OnSaveInstanceSta
  9. 短信发送--短信的发送流程(framework)

随机推荐

  1. arcgis android sdk load local tile
  2. Android开发便签1:AlertDialog的使用
  3. Android之工程目录介绍
  4. 自己编写的android汉字转拼音类(超全字库
  5. qt for android中文字体显示异常解决方案
  6. cocos2dx3.9 + android studio2.0 搭建项
  7. android 手机屏蔽广告 hosts
  8. Android : 高通平台Camera调试
  9. Android 在弹出Dialog(带EditText)的同时弹
  10. Android中几种常用图片加载库的使用