Android学习笔记<一>监听器的实现方式

Android提供了两种事件处理方式,其中一种就是基于监听器的事件处理

事件源:按钮,窗口,菜单等

事件:点击,触摸,键盘输入等

事件监听器

方式<一>Activity本身作为事件监听器,实现一个接口,以实现onClickListener接口为例,并实现onClick方法

public class ActivityListener extends Activity  implements  OnClickListener

{      
       EditText show;
       Button    bn;
       
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity_listener);
show=(EditText)findViewById(R.id.show);
bn=(Button)findViewById(R.id.bn);
bn.setOnClickListener(this);
}
   public void onClick(View v)
   {
    show.setText("bn按钮被单击了");
   
   }


}

方式<二>匿名内部类作为事件监听器

public class AnonymousListener extends Activity {
     EditText show;
     Button bn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_anonymous_listener);
show=(EditText)findViewById(R.id.show);
bn=(Button)findViewById(R.id.bn);
bn.setOnClickListener(new OnClickListener()
{
 public void onClick(View v)
 {
  show.setText("bn按钮被单击了");
 
 }


});
}
}

方式<三>直接绑定标签 在xml文件中,找到要添加监听器的事件源,然后添加android:onClick=''监听器名字',然后在该布局对应的Activity中定义一个void 监听器名字(View sourcr)方法

package com.android.bangdingtag;


import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;


public class BangDing extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bang_ding);
}
 public void clickHandler(View source)
 {
 
  EditText show=(EditText)findViewById(R.id.show);
  show.setText("bn按钮被单击了");
 
 }
       @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.bang_ding, menu);
return true;
}


}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值