今天我们要讲的主要是四大组件之一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 点击事件的更多相关文章

  1. Android笔记——Button点击事件几种写法

    Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button ...

  2. Android学习-----Button点击事件几种写法

    Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button ...

  3. Android开发-之监听button点击事件

    一.实现button点击事件的方法 实现button点击事件的监听方法有很多种,这里总结了常用的四种方法: 1.匿名内部类 2.外部类(独立类) 3.实现OnClickListener接口 4.添加X ...

  4. Android实战简易教程-第十五枪(实现ListView中Button点击事件监听)

    1.main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" x ...

  5. 两个堆叠fragment,上层fragment响应于降低fragment的button点击事件补救措施

    加入onViewCreated的Touch事件监听, 以解决叠在一起的fragment上层响应下层的button点击事件解决方法 @Override public void onViewCreated ...

  6. (转)Ext.Button点击事件的三种写法

    转自:http://maidini.blog.163.com/blog/static/377627042008111061844345/ ExtJs的写法太灵活了,现在收集了关于Button点击事件的 ...

  7. 自学Android的第一个小程序(小布局、button点击事件、toast弹出)

    因为上班,学习时间有限,昨晚才根据教程写了一个小程序,今天忙里偷闲写一下如何实现的,来加深一下印象. 首先创建一个Android项目, 通过activity_xxx.xml布局文件来添加组件来达到自己 ...

  8. 【WPF】代码触发Button点击事件

    先定义Button按钮并绑定事件. public void test() { Button btn = new Button(); btn.Click += Btn_Click; } private ...

  9. [Android]对话框样式Activity获得窗口外点击事件

    Dialog除了使用Dialog类来实现之外,还可以使用Dialog样式的Activity来实现,只需要在注册Activity时指明theme为adnroid:Theme.Dialog就行,这样的Di ...

随机推荐

  1. COALESCE函数

    --SQL学习笔记一 --函数coalesce --功能返回参数中第一个非NULL值 --语法 COALESCE ( expression [ ,n ] ) --创建测试表 IF OBJECT_ID( ...

  2. Silverlight 中 读取XML文件

    一:xml文件 二:后台代码 private void ReadXml() { List<TreeViewItem> nodes = new List<TreeViewItem> ...

  3. Tuna项目总结

    从8.19—9.13日一共四周的时间,我在Tuna项目组进行的我的第一次正式工作,以及学习.在此,我对这个阶段的工作及学习进行一个总结,主要分为对流程的理解和对自动化测试的应用两个方面. 在总结着两点 ...

  4. ArcGis : unable to save as template this document is already based on another template

    原文:http://forums.esri.com/Thread.asp?c=93&f=989&t=289930 ----------------- I ran into this p ...

  5. compile libvirt

    POSIX-linux 编译安装libvirt依赖包; 1.yum install device-mapper-devel

  6. MVC三层架构编程(Dao、service、servlet 之间的关系)

    木哈哈~先开心一会儿,人生的第一篇博客aaa.我一定好好写.不过之前也没怎么看别人写过,还是有点小激动呢,加油.好好总结,会总结的宝宝才会有提高! 今天想总结一下mvc三层架构模型编程,宝宝学习不怎么 ...

  7. Guice学习(一)

    Guice学习(一) Guice是Google开发的一个轻量级依赖注入框架(IOC).Guice非常小而且快,功能类似与Spring,但效率上网上文档显示是它的100倍,而且还提供对Servlet,A ...

  8. Hibernate级联删除

    如果cascade属性是默认值"none",当hibernate删除一个持久化对象的时候,不会自动删除与它关联的其他持久化对象.如果希望自动删除它关联的其他持久化对象,可以把cas ...

  9. java接口与抽象类的区别

    接口可以是标志接口,里面没有任何常量和方法. 抽象类不一定必须有抽象方法,也可也没有方法,但含抽象方法的类必须被声明为抽象类. 在抽象层次结构中,Java接口在最上面,然后紧跟着抽象类,然后是一般类. ...

  10. How to configure Gzip for JBoss?---refer

    Question: I think to try to speed up my Web App by reducing the size of transferred data. For exampl ...