0
点赞
收藏
分享

微信扫一扫

Android实现监听事件的方法

千行 2021-09-29 阅读 168

1.通过内部类实现
2.通过匿名内部类实现
3.通过事件源所在类实现
4.通过外部类实现
5.布局文件中onclick属性(针对点击事件)

1.通过内部类实现代码:

 private Button mBtnEvent;
//oncreate中
mBtnEvent.setOnClickListener(new OnClick());
//内部类实现监听
class OnClick implements View.OnClickListener{
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.btn_event:
ToastUtil.showMsg(EventActivity.this,"click...");
break;
}
}
}

2.通过匿名内部类实现代码

 mBtnEvent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ToastUtil.showMsg(EventActivity.this,"click...");
}
});

3.通过事件源所在类实现代码

public class EventActivity extends AppCompatActivity implements View.OnClickListener 
//onCreate中
mBtnEvent.setOnClickListener(EventActivity.this);


@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_event:
ToastUtil.showMsg(EventActivity.this, "click...");
break;
}

4.通过外部类实现代码:

//新建外部类
package com.example.lineralayout;
import android.app.Activity;
import android.view.View;
import com.example.lineralayout.util.ToastUtil;

public class MyClickListener implements View.OnClickListener {
private Activity mActivity;
//创建构造方法
public MyClickListener(Activity activity){
this.mActivity = activity;
}
@Override
public void onClick(View view) {
ToastUtil.showMsg(mActivity, "click...");
}
}

//在主类中调用外部类
mBtnEvent.setOnClickListener(new MyClickListener(EventActivity.this));

5.布局文件中onClick属性(针对点击事件)
xml代码:

  <Button
android:id="@+id/btn_event"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="click me"
android:textAllCaps="false"
android:onClick="onClick"/>

activity代码:

//第一种
public void onClick(View view) {
ToastUtil.showMsg(EventActivity.this, "click...");
//第二种
public void onClick(View view) {
switch (view.getId()){
case R.id.btn_event:
ToastUtil.showMsg(EventActivity.this,"click...");
break;
}
}

监听三要素
Event Source(事件源)
Event(事件)
Event Listener(事件监听器)

举报

相关推荐

0 条评论