Android 实现监听事件的几种方法
16lz
2021-01-23
一、通过内部类实现
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; } }}
♥ 喜 欢 请 点 赞 哟 ♥ |
(●ˇ∀ˇ●) |
更多相关文章
- Android情景模式、文件管理器 完整示例编程详解
- android ndk-build log输出文件
- 如何向android程序添加音效或者音频文件
- android 动态 布局
- Android 文件管理方法
- Android Studio创建Android项目生成的文件详解
- Android 框架之创建设备节点文件
- android:布局参数,控件属性及各种xml的作用