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

来源:互联网 发布:淘宝美工助理激活卡号 编辑:程序博客网 时间:2024/06/01 18:34

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