
一、通过内部类实现
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; } } } 四、通过外部类实现
新建一个外部类: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....."); }}调用外部类构造方法: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 属性实现
布局文件添加 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"/>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; } }} 点赞收藏分享文章举报星汉翠竹发布了75 篇原创文章 · 获赞 52 · 访问量 4万+私信 关注 总结 以上是内存溢出为你收集整理的Android 实现监听事件的几种方法全部内容,希望文章能够帮你解决Android 实现监听事件的几种方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)