美文网首页
Android实现监听事件的方法

Android实现监听事件的方法

作者: Amy木婉清 | 来源:发表于2020-08-28 15:36 被阅读0次

    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(事件监听器)

    相关文章

      网友评论

          本文标题:Android实现监听事件的方法

          本文链接:https://www.haomeiwen.com/subject/urslsktx.html