Android开发之基于监听的事件处理

落花踏尽游何处,笑入胡姬酒肆中。这篇文章主要讲述Android开发之基于监听的事件处理相关的知识,希望能为你提供帮助。
 


在android  应用开发过程中,常用监听事件如下:
(1)  ListView事件监听
setOn  ItemSelectedListener:鼠标滚动时触发
setOnItemClickListener: 点击时触发
(2  )EditText  事件监听
setOnKeyListener:  获取焦点时触发
(3)  RadioGroup事件监听
setOnCheckedChangeListener: 点击时触发
(4)  CheckBox事件监听
setOnCheckedChangeListener  :点击时触发
(5  )Spinner事件监听
setOnltemSelectedListener:点击时触发
 
(6)  DatePicker  事件监听
onDateChangedListener: 日期改变时触发
(7  )DatePickerDialog  事件监听
onDateSetListener:设置日期时触发
(8)  TimePicker  事件监听
onTimeChangedListener:时间改变时触发
(9  )TimePickerDialog  事件监听
onTimeSetListener:  设置时间时触发
(10)Button.ImageButton  事件监听
setOnClickListener:  点击时触发
(11)Menu  事件监听
onOptionsltemSelected;   点击时触发
(12  )Gallery  事件监听
setOnItemClickListener: 点击时触发
(13  )GridView  事件监听
setOnltemClickListener: 点击时触发
 
实现事件监听器的方法:

  • 内部类形式
  • 外类类形式
  • Activity本身作为事件监听器类
  • 匿名内部类形式
  • 直接绑定到标签
 
内部类形式将事件监听器类定义在当前类的内部


public class Test extends Activity{ @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button)findViewById(R.id.about); MyButtonlistener listener = new MyButtonlistener(); button.setOnClickListener(listener); } class MyButtonlistener implements View.OnClickListener{ @Override public void onClick(View v) { //相关事件处理 } } }

 
 
 
 
 
 
外类类形式Test类

public class Test extends Activity{ @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button)findViewById(R.id.about); MyButtonlistener listener = new MyButtonlistener(); button.setOnClickListener(listener); }}

MyButtonlistener类
public class MyButtonlistener implements View.OnClickListener { @Override public void onClick(View v) { //事件处理 } }

【Android开发之基于监听的事件处理】 
 
Activity本身作为事件监听器类将Activity本身作为事件监听器类

public class Test extends Activity implements View.OnClickListener{ @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button)findViewById(R.id.about); button.setOnClickListener(this); }@Override public void onClick(View v) { //事件处理 } }

 
    匿名内部类形式
public class Test extends Activity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button)findViewById(R.id.about); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //事件处理 } }); } }

 
 
 
直接绑定到标签在xml的布局文件中加入onClick属性,设置相关的方法
 
Android开发之基于监听的事件处理

文章图片

定义一个方法,记得参数是View
Android开发之基于监听的事件处理

文章图片

 

    推荐阅读