Android开发中4种Onclick事件的实现
来源:互联网 发布:阿里云账号 编辑:程序博客网 时间:2024/05/20 15:56
首先要使用一个Button和一个TextView便于测试和分析下面是布局文件代码:
<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.android.onclick.MainActivity$PlaceholderFragment" > <TextView android:id="@+id/tvtext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/text" /> <Button android:id="@+id/btntest" android:onClick="testBtnOnClick" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/tvtext" android:text="@string/test"/></RelativeLayout>
布局文件写好后显示的效果
第1种:在布局文件里面绑定一个点击事件的方法(这是一个很好用的方法)
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {//获取控件private TextView tvtext;private Button btntest;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btntest=(Button)findViewById(R.id.btntest);}//方法名要与布局页面中方法名相同public void testBtnOnClick(View view){TextView textview = (TextView)findViewById(R.id.tvtext); textview.setText("你点击了测试按钮"); }}
第1种测试结果如下:
第2种:创建一个内部类定义点击事件(当然要把布局文件里的Onclick事件去掉,否则会因为你没有方法而报错)
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {//获取控件private TextView tvtext;private Button btntest;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btntest=(Button)findViewById(R.id.btntest);//给按钮注册点击事件 ,创建一个内部类定义点击事件btntest.setOnClickListener(new MyListener());}private class MyListener implements OnClickListener{@Overridepublic void onClick(View v){TextView textview = (TextView)findViewById(R.id.tvtext);textview.setText("恭喜触发成功"); }}}第2种测试结果如下:
第3种:采用匿名内部类创建点击事件(这种用法用的不是很多)
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {//获取控件private TextView tvtext;private Button btntest;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btntest=(Button)findViewById(R.id.btntest);//采用匿名内部类创建点击事件btntest.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubTextView textview = (TextView)findViewById(R.id.tvtext);textview.setText("触发成功咯!"); }});}}第3种测试结果如下:
第4种:让activity实现点击事件接口(这个也是最常用的方法)
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity implements OnClickListener {//获取控件private TextView tvtext;private Button btntest;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btntest=(Button)findViewById(R.id.btntest);//让activity实现点击事件接口btntest.setOnClickListener(this);}//接口里面未实现的方法@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.btntest:TextView textview = (TextView)findViewById(R.id.tvtext);textview.setText("成功触发"); break;}}}
第4种测试结果如下:
0 0
- Android开发中4种Onclick事件的实现
- android中onClick事件的实现
- Android开发中onClick事件的几种实现,分析,对比
- Android开发中onClick事件的几种实现,分析,对比
- Android开发中onClick事件的几种实现,分析,对比
- Android开发中onClick事件的几种实现,分析,对比
- Android开发之onClick事件的4种写法
- android 控件onClick事件的4种实现方式
- Android开发之onClick事件的三种写法
- Android开发之onClick事件的三种写法
- Android开发之onClick事件的三种写法
- Android 开发之onClick事件的三种写法
- Android开发之onClick事件的三种写法
- Android开发之onClick事件的三种写法
- Android开发之onClick事件的三种写法
- Android开发之onClick事件的三种写法
- Android开发之onClick事件的三种写法
- Android开发之onClick事件的两种主要形式
- 程序员的一生
- Android开发 httpclient Post方法实现从tomcat服务器(JSP)获取listview信息
- mysql管理
- 使用poi解析Excel
- boost目录翻译序
- Android开发中4种Onclick事件的实现
- 使用DB2时发生该错误: SQLCODE=-668 不能向用EDITPROC定义的表中添加列
- hdu 1878 欧拉回路 无向图连通性
- (数据结构整理)NJUPT1054
- 黑马程序员——浅谈I/O流
- 学习记录:我来说卷积
- jquery 中的each()怎么跳出循环
- leetcode:ZigZag Conversion
- 用MSP430F247硬件IIC控制PCF8591转换模块