android的四种点击事件的设置
16lz
2021-01-23
第一种:匿名内部类
package com.xspacing.listener;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity { private Button mButton; private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; initViews(); initDatas(); } private void initViews() { mButton = (Button) findViewById(R.id.main_btn_click); } private void initDatas() { mButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(mContext, "点击了按钮", 0).show(); } }); }}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.xspacing.listener.MainActivity" > <Button android:id="@+id/main_btn_click" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="点击事件" />RelativeLayout>
第二种:实现接口
package com.xspacing.listener;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener { private Button mButton; private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; initViews(); initDatas(); } private void initViews() { mButton = (Button) findViewById(R.id.main_btn_click); } private void initDatas() { mButton.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.main_btn_click: Toast.makeText(mContext, "点击了按钮", 0).show(); break; default: break; } }}
布局文件同上
第三种:定义内部类实现接口
package com.xspacing.listener;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity { private Button mButton; private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; initViews(); initDatas(); } private void initViews() { mButton = (Button) findViewById(R.id.main_btn_click); } private void initDatas() { mButton.setOnClickListener(new MyListener()); } class MyListener implements OnClickListener { @Override public void onClick(View v) { switch (v.getId()) { case R.id.main_btn_click: Toast.makeText(mContext, "点击了按钮", 0).show(); break; default: break; } } }}
布局文件同上
第四种:在xml定义点击属性
package com.xspacing.listener;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.widget.Toast;public class MainActivity extends Activity { private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; } public void myBtnClick(View view) { Toast.makeText(mContext, "点击了按钮", 0).show(); }}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.xspacing.listener.MainActivity" > <Button android:onClick="myBtnClick" android:id="@+id/main_btn_click" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="点击事件" />RelativeLayout>
更多相关文章
- Android 点击按钮,文本文字改变
- android xml布局中TextView文字居中方法
- android 动态布局setLayoutParams方法设置
- android一种较为复杂的布局
- 谈谈android不同尺寸,不同分辨率的布局
- Android 布局之GridLayout
- Android 的布局
- Android四种布局
- 从简单的android 登陆应用 ,学习布局,