简单运用 activity 的 button 点击事件
今天我们要讲的主要是四大组件之一Activity
Activity 在英文中是活动的意思。活动就是我们与用户进行交互的一个场所。
activity 整个的活动流程是什么呢?我们用一个图来看下
当然今天主要讲的还是 activity 页面中 Button 按钮的一个点击事件。在 java 中 点击事件弹出消息直接在 js 中 写 alter 即可。
但是在 Android 中没那么简单。当然也不是很复杂。昨天我们学习了 java 的内部类。在 Android 点击事件中,我们主要使用的是 匿名内部类( anonymous inner class)
我们直接上栗子好描述些。



当然,完成上面步骤的时候,你运行整个项目时,你怎么点击button 都是没有效果的。因为我们没有写点击事件。
接下来我们要用两种方法写Android 中的点击事件。
方法一:
直接在MainActivity 中写匿名内部类实现点击事件,但通常不建议使用,代码的健壮性不高。
package com.example.hello; import android.app.Activity;
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 btn1; protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
this.setContentView(R.layout.text);
btn1 = (Button) findViewById(R.id.button1);
btn1.setText("点我试试");
// 不用定义实现类的,用匿名内部类实现 OnClickListener 接口
btn1.setOnClickListener(new OnClickListener() { public void onClick(View v) {
// context 指的是 activity
// text 要弹出的内容
// duration 时间
Toast t = Toast.makeText(MainActivity.this,
"点我也没用,什么也没有...傻眼了吧 !", Toast.LENGTH_LONG);
t.show();
}
}); } }
运行结果如下,当点击按钮的时候,弹出“点我也没用,什么也没有...傻眼了吧 !”

( 这张手机截屏图片为什么怎么大/(ㄒoㄒ)/~~ 不管了 将就着看吧 )
方法二:
创建一个实现类,去实现点击事件

package com.example.hello; import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast; public class Btn1ClickListener implements OnClickListener { private Context context; public Btn1ClickListener(Context c) {
this.context = c;
} public void onClick(View v) {
Toast t = Toast.makeText(context, "还是什么都没有啊!你骗我╭(╯^╰)╮",
Toast.LENGTH_LONG);
t.show(); // show() 显示
} }
package com.example.hello; import android.app.Activity;
import android.os.Bundle;
import android.widget.Button; public class MainActivity extends Activity { private Button btn1; protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
this.setContentView(R.layout.text);
btn1 = (Button) findViewById(R.id.button1);
btn1.setText("点我试试"); btn1.setOnClickListener(new Btn1ClickListener(this)); } }
运行结果如下

以上是今天的学习的全部内容。╮(╯_╰)╭
简单运用 activity 的 button 点击事件的更多相关文章
- Android笔记——Button点击事件几种写法
Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button ...
- Android学习-----Button点击事件几种写法
Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button ...
- Android开发-之监听button点击事件
一.实现button点击事件的方法 实现button点击事件的监听方法有很多种,这里总结了常用的四种方法: 1.匿名内部类 2.外部类(独立类) 3.实现OnClickListener接口 4.添加X ...
- Android实战简易教程-第十五枪(实现ListView中Button点击事件监听)
1.main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" x ...
- 两个堆叠fragment,上层fragment响应于降低fragment的button点击事件补救措施
加入onViewCreated的Touch事件监听, 以解决叠在一起的fragment上层响应下层的button点击事件解决方法 @Override public void onViewCreated ...
- (转)Ext.Button点击事件的三种写法
转自:http://maidini.blog.163.com/blog/static/377627042008111061844345/ ExtJs的写法太灵活了,现在收集了关于Button点击事件的 ...
- 自学Android的第一个小程序(小布局、button点击事件、toast弹出)
因为上班,学习时间有限,昨晚才根据教程写了一个小程序,今天忙里偷闲写一下如何实现的,来加深一下印象. 首先创建一个Android项目, 通过activity_xxx.xml布局文件来添加组件来达到自己 ...
- 【WPF】代码触发Button点击事件
先定义Button按钮并绑定事件. public void test() { Button btn = new Button(); btn.Click += Btn_Click; } private ...
- [Android]对话框样式Activity获得窗口外点击事件
Dialog除了使用Dialog类来实现之外,还可以使用Dialog样式的Activity来实现,只需要在注册Activity时指明theme为adnroid:Theme.Dialog就行,这样的Di ...
随机推荐
- white-space norma nowrap强制同一行内显示所有文本文字,让所有文字内容中一排显示不换行
日常我们为了让文字内容在一行内显示完,哪怕宽度不够也不能换行,我们可以使用white-space样式,但如果遇到了html br强制换行标签,无论是设置white-space与否都会被<br&g ...
- Docker 初级实践
Docker 应用 优势 与虚拟相比Docker更加轻量高效,更加方便移植.虚拟机提供的是完整的操作系统环境,包含了大量类似硬件驱动.虚拟处理器.网络接口等等并不需要的信息,也需要比较长时间的启动,同 ...
- 安装redis,含安装步骤和安装中出现的详细错误分析
1.wget http://download.redis.io/releases/redis-2.8.13.tar.gz 2.解压文件 tar -zxvf redis-2.8.13.tar.gz 3. ...
- Android批量图片载入经典系列——使用LruCache、AsyncTask缓存并异步载入图片
一.问题描写叙述 使用LruCache.AsyncTask实现批量图片的载入并达到下列技术要求 1.从缓存中读取图片,若不在缓存中,则开启异步线程(AsyncTask)载入图片,并放入缓存中 2.及时 ...
- STK 10.1.3
2692407267@qq.com.很多其它内容请关注http://user.qzone.qq.com/2692407267 STK 10.1.3与Qualnet联合仿真的demo
- JuiceSSh破解分析
JuiceSSH是一款免费的远程ssh客户端,感觉是一款挺优秀的软件,里边有一些高级功能需要购买高级版才能使用,这里便对其对高级功能的破解进行分析. 本文仅用于学习交流使用,请尊重作者,勿在网上肆意发 ...
- java基础01
1. /** * JDK: (Java Development ToolKit) java开发工具包.JDK是整个java的核心! * 包括了java运行环境 JRE(Java Runtime Env ...
- GitHub的css/js文件给墙了的解决方法
今天早上一打开github发现css等都加载失败. 后来发现是给墙了. 本人用的是windows. 解决方法:改hosts 一般情况是在这里:C:\Windows\System32\drivers\e ...
- WinAPI——谐振动的合成
#include<Windows.h> #include<math.h> #define NUM 1000 #define PI 3.14159 LRESULT CALLBAC ...
- MySQL慢查询详解
分析MySQL语句查询性能的方法除了使用 EXPLAIN 输出执行计划,还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”. 查看/设置“慢查询”的时 ...