一、通过内部类实现

public class EventActivity extends AppCompatActivity {    private Button mBtnEvent;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_event);        mBtnEvent=findViewById(R.id.btn_event_second);        //内部类实现        mBtnEvent.setOnClickListener(new OnClick());    }        class OnClick implements View.OnClickListener{        @Override        public void onClick(View v) {            switch (v.getId()){                case R.id.btn_event_second:                    ToastUtil.showMsg(EventActivity.this,"click...");                    break;            }        }    }}

二、通过匿名内部类实现

public class EventActivity extends AppCompatActivity {    private Button mBtnEvent;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_event);        mBtnEvent=findViewById(R.id.btn_event_second);        //匿名内部类        mBtnEvent.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                ToastUtil.showMsg(EventActivity.this,"click...");            }        });    }}

三、通过事件源所在类实现

public class EventActivity extends AppCompatActivity implements View.OnClickListener{    private Button mBtnEvent;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_event);        mBtnEvent=findViewById(R.id.btn_event_second);        mBtnEvent.setOnClickListener(EventActivity.this);    }    @Override    public void onClick(View v) {        switch (v.getId()){            case R.id.btn_event_second:                ToastUtil.showMsg(EventActivity.this,"click...");                break;        }    }   }         

四、通过外部类实现

  1. 新建一个外部类:
public class MyClickListener implements View.OnClickListener {    private Activity mActivity;    public MyClickListener(Activity activity){        this.mActivity=activity;    }    @Override    public void onClick(View v) {        ToastUtil.showMsg(mActivity, "click.....");    }}
  1. 调用外部类构造方法:
public class EventActivity extends AppCompatActivity {    private Button mBtnEvent;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_event);                mBtnEvent.setOnClickListener(new MyClickListener(EventActivity.this));    }  }          

五、布局文件中 onClick 属性实现

  1. 布局文件添加 onClick :
    <Button        android:id="@+id/btn_event_second"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="click me"        android:textAllCaps="false"        android:onClick="show"/>
  1. Activity 文件添加 onClick 中调用的方法:
public class EventActivity extends AppCompatActivity {    private Button mBtnEvent;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_event);    }    public void show(View view){        switch (view.getId()){            case R.id.btn_event_second:                ToastUtil.showMsg(EventActivity.this,"click from show");                break;        }    }}    

♥ 喜 欢 请 点 赞 哟 ♥
(●ˇ∀ˇ●)

更多相关文章

  1. Android给support_v4.jar包添加源码和doc文档
  2. 解决android 4.0 EditText无框的烦恼
  3. Android(安卓)返回键实现home键的功能
  4. android计算器简单版【安卓进化一】
  5. Android(安卓)获取imu数据
  6. 美图秀秀自由拼图android实现
  7. 浅谈Java中Collections.sort对List排序的两种方法
  8. NPM 和webpack 的基础使用
  9. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程

随机推荐

  1. android "Only the original thread that
  2. Cocos2d-x3.3RC0加载Android的WebView
  3. Android 交错 GridView
  4. android中流的理解。(字节流读写与字符流
  5. 图片缓存库之深度剖析
  6. Android环境变量设置
  7. Android(安卓)中的那些策略模式
  8. Android SDK 源代码关联Eclipse
  9. Android Drawable的那些事儿
  10. Android Activity、Fragment之间的数据传