标题就说了,这次说一说控件的监听,这个监听是指你对控件的操作,监听分很多,一把来说是监听点击事件或者监听它的触摸事件。
首先都说了是对控件的操作吧,要指明是哪个控件吧,
点击事件呢分为4类,匿名内部类,自定义类,当前类,XML;
public class DayTwoClick extends AppCompatActivity implements View.OnClickListener {
Button one_bt,two_bt,three_bt;//声明
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_daytwoclick);//页面的设置
//初始化Button
one_bt= (Button) findViewById(R.id.click_onel);
two_bt= (Button) findViewById(R.id.click_two);
three_bt= (Button) findViewById(R.id.click_three);
//匿名内部类点击事件
one_bt.setOnClickListener(new View.OnClickListener()//View包下的 {
@Override
public void onClick(View v) {//重写的方法
Toast.makeText(DayTwoClick.this,"这是匿名内部类",Toast.LENGTH_SHORT).show();//吐司显示
}
});
//自定义类点击事件
MyClick myClick=new MyClick();
two_bt.setOnClickListener(myClick);
class MyClick implements View.OnClickListener{//首先自定义一个类,实现接口,复写方法
@Override
public void onClick(View v) {
Toast.makeText(DayTwoClick.this,"这是自定义类点击事件",Toast.LENGTH_SHORT).show();
}
}
}
// 当前类点击事件,注意必须实现OnClickListener这个接口
three_bt.setOnClickListener(this);//设置监听,当操作btn
one_bt.setOnClickListener(this);
two_bt.setOnClickListener(this);
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.click_three: //用地址,则可表示当前类
Toast.makeText(this,"这是当前类作为对象点击事件three",Toast.LENGTH_SHORT).show();
break;
case R.id.click_one:
Toast.makeText(this,"这是当前类作为对象点击事件one",Toast.LENGTH_SHORT).show();
break;
case R.id.click_two:
Toast.makeText(this,"这是当前类作为对象点击事件two",Toast.LENGTH_SHORT).show();
}
}