在Android的开发中,对于点击事件的OnClickListener有下面四种实现方式,可以根据实际场景的需要选择合适的用法。下面以Button按钮来举例说明。 方法一:匿名内部类 适合场景:任
在Android的开发中,对于点击事件的OnClickListener有下面四种实现方式,可以根据实际场景的需要选择合适的用法。下面以Button按钮来举例说明。
适合场景:任何场景都通用,但对于一个Activity中要是有多个控件要实现onClick方法就会显得代码冗余。
Button bt_Demo = (Button)findViewById(R.id.bt_Demo);bt_Demo.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) { //具体点击操作的逻辑}});
同方法一,两者差别不大
Button bt_Demo = (Button)findViewById(R.id.bt_Demo);bt_Demo.setOnClickListener(new ButtonListener());private class ButtonListener implements View.OnClickListener{@Overridepublic void onClick(View arg0) { // TODO Auto-generated method stub switch(arg0.getId()){ case R.id.btn_Demo: //具体点击操作的逻辑 break; default: break; }} }
适合场景:适合界面上有不同类型的控件,这种方式将所有控件的onClick方法在一个方法里面实现,看起来比较简洁
public class MyActivity extends Activity implements OnClickListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //按纽 Button btn_Demo = (Button)findViewById(R.id.bt_Demo); bt_Demo.setOnClickListener(this); } @Override public void onClick(View v) { switch(arg0.getId()){ case R.id.btn_Demo: //具体点击操作的逻辑 break; default: break; } }}
在布局文件中加上android:onClick=“方法名”,对于有些控件(比如TextView)需要兼容旧的SDK api,还需要加上android:clickable=“true”
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:clickable="true" android:onClick="onTextViewClick" android:text="点击事件" android:textSize="16sp" />
//在代码中实现onTextViewClick()方法即可。public void onTextViewClick(View view){ //具体点击操作的逻辑}
来源地址:https://blog.csdn.net/daokedream/article/details/129863431
--结束END--
本文标题: Android响应事件onClick方法的四种实现方式
本文链接: https://www.lsjlt.com/news/424531.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0