android_Activity之Button_OnClickListener
今天我们要讲的主要是四大组件之一Activity
什么是Android 的四大组件呢?接下来简单了解下。
1.Activity
Activity就是我们应用程序的界面,主要用来跟我们的用户进行交互的,比如一个文本框,按钮这些就是显示在Activity上的,并且可以接收数据,传递数据到后台,
然后再显示出来。
2.service
Service我们是看不见的,对于绝大部分的数据的处理,业务的处理都是通过Service来完成的。
3.Broadcast Receiver
BroadcastReceiver组件是广播接收器,主要是用来监听系统的各个行为的,例如当电量不足的时候会给我们发送一条广播信息。
4.Content Provider
ContentProvider类似于我们的档案馆,里面存放了我们的各种数据,例如通讯录中的信息等,这个组件就是运行程序对其进行访问,然后得到里面的数据。
Activity 在英文中是活动的意思。活动就是我们与用户进行交互的一个场所。
activity 整个的活动流程是什么呢?我们用一个图来看下

当然今天主要讲的还是 activity 页面中 Button 按钮的一个点击事件。在 java 中 点击事件弹出消息直接在 js 中 写 alter 即可。但是在 Android 中没那么简单。当然也不是很复杂。昨天我们学习了 java 的内部类。在 Android 点击事件中,我们主要使用的是 匿名内部类( anonymous inner class)
我们直接上栗子好描述些。



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

方法二:
创建一个实现类,去实现点击事件

package com.example.helloworld; 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;
} @Override
public void onClick(View v) {
Toast t = Toast.makeText(
context,
"我是Android 1 班huanghuizhen",
Toast.LENGTH_LONG);
t.show(); } }
package com.example.helloworld; import android.app.Activity;
import android.os.Bundle;
import android.widget.Button; public class MainActivity extends Activity { private Button btn1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
this.setContentView(R.layout.test);
btn1 = (Button) findViewById(R.id.testbut1);
btn1.setText("点我啊");
btn1.setOnClickListener( new Btn1ClickListener(this) ); }
}
运行结果如下

以上是今天的全部内容。若有哪里错误,欢迎各位指出,我也是Android 菜鸟一枚。
android_Activity之Button_OnClickListener的更多相关文章
- Android_Activity生命周期
		
通过前面一段时间的学习,我们很清楚我们的一系列操作都离不开的一个东西,就是我们的activity .接下来我们对 Activity 进行系统的总结. Activity 的四种基本状态 1.运行态(Ru ...
 - android_Activity生命周期功能
		
说明:初步activity 生命周期7功能. 样本:于MainActivity我加了button,搬家button.跳到OtherActivity.控制台输出的观察. 让我们来看看这些功能: 他们的流 ...
 - Android_Activity启动模式
		
在android里,有4种activity的启动模式,分别为: “standard” (默认) “singleTop” “singleTask” “singleInstance” 它们主要有如下不同: ...
 - Android_Activity知识点
		
一:安卓的目录下面有两个文件夹,一个是assets一个是RES其中在resw文件夹放的所有东西都会在R文件夹中自动对应的生成了一个ID,那么在assets中我们可以放关于这个工程的任何文件. 二:dr ...
 - Android_activity实现一个简单的新建联系表
		
项目展示: 第一个Activity用于显示联系人信息 第二个Activity输入联系人信息 要求: 运行“新建联系人”程序,结果如下图所示: 点击“新建联系人”按钮,打开输入信息界面并输入姓名.公司. ...
 - Android_Activity的生命周期、跳转方式及参数传递、启动模式。
		
Activity的生命周期: onCreat ,onStart,onResume,onPause,onRestart,onStop,onDestroy Activity之间的跳转分为显式跳转和隐式跳转 ...
 - Android 组件系列-----Activity的传值和回传值
		
在这篇随笔里将讲解Activity的传值和回传值. 一.通过startActivity来进行Activity的传值 在Android中,如果我们要通过一个Activity来启动另一个Activity, ...
 - 【Android】首次进入应用时加载引导界面
		
参考文章: [1]http://blog.csdn.net/wsscy2004/article/details/7611529 [2]http://www.androidlearner.net/and ...
 - 设计webapp的新思路
		
一般设计移动应用有3中方式:原生.脚本.混合:今天我们用另一种方式实现. 我叫它:响应式网页webApp 一.具体构架思路是这样的: 客户端:Android手机 Android手机中有控件WebVie ...
 
随机推荐
- 地址(Address)——WCF学习笔记(2)
			
地址(Address)分为: 统一资源表示(URI). EndpointAddress. 端口共享. 逻辑地址与物理地址. 请求监听与消息分发.
 - Linux学习方法
			
应该如何提问? 先要尝试自己解决 - 帮助 - 文档 - 示例 提问的智慧 - 问题详尽 - 贴图
 - ajax请求后弹开新页面被浏览器拦截
			
window.open()我想应该很多人都不陌生吧,它可以实现除用a标签以外来实现打开新窗口! 最近开发项目用到时,却遇到了麻烦,本来好好的弹出窗口,结果被浏览器无情的给拦截了! 代码如下: $.ge ...
 - centos网卡eth1变成eth0修改方法
			
centos网卡eth1变成eth0修改方法 2013年03月29日 ⁄ Linux基础 ⁄ 共 406字 ⁄ 暂无评论 ⁄ 被围观 8,266 views+ 虚拟化中,从模板克隆出来的虚拟机网卡都会 ...
 - [Spring] IOC - Annotation
			
Spring Annotation使用例子. 与XML配置的例子一样:http://www.cnblogs.com/HD/p/3962541.html Project结构: 配置文件:springCo ...
 - WinForm中使用XML文件存储用户配置及操作本地Config配置文件
			
大家都开发winform程序时候会大量用到配置App.config作为保持用户设置的基本信息,比如记住用户名,这样的弊端就是每个人一些个性化的设置每次更新程序的时候会被覆盖. 故将配置文件分两大类: ...
 - LeetCode "Russian Doll Envelopes"
			
An intuitive DP - should be 'medium'. class Solution { public: int maxEnvelopes(vector<pair<in ...
 - java的基本认识
			
一.java的特点: 1.跨平台性:不受计算机硬件及操作系统的约束而在任意计算机环境下运行. 2.面向对象:以对象为基本粒度,基下包含属性和方法. 3.安全性:语言级安全性.编译性安全性.运行时安全性 ...
 - mysql查看bin日志命令
			
mysqlbinlog --no-defaults --base64-output=decode-rows -v --start-datetime='2016-01-14 16:30:00' - ...
 - RH LINUX5.5 RAW绑定
			
****************ORACLE 11G RAC***********************Disk /dev/sdb: 2147 MB, 2147483648 bytes67 head ...