教我徒弟Android开发入门(二)

前言:

上一期实现了简单的QQ登录效果,这一期继续对上一期进行扩展

本期的知识点:

Toast弹窗,三种方法实现按钮的点击事件监听

正文:

 

Toast弹窗其实很简单,在Android Studio中打上toast,之后按下tab键就能快捷生成一个Toast


Toast.makeText(CurrentActivity.this, "内容", Toast.LENGTH_SHORT).show();括号中的三个参数,第一个是context(上下文,在哪里显示Toast),第二个是一个String字符串,也就是Toast显示的内容,第三个是Toast显示的时间,short是短的意思
 

这样就能实现弹出Toast,我将之前弹出对话框的代码修改成了下列的代码,this就是指当前的activity,这样可以省略的写

 

关于监听事件,可能我没有讲解得太清楚,拿上面的那个例子来说,我们是让当前的那个activity实现了一个监听接口,之后复写它的onClick方法,通过findviewbyid找到button的实例,调用setOnClickListener为其绑定监听器,之后,当用户点击button按钮,就会进入到onClick方法之中,由v.getid获得当前用户点击的view的id,之后进入到一个switch分支语句之中,id与R.id.button相同,就执行该分支,也就是弹出一个Toast,不只是button,其他的textview,linearlayout等等控件或者是根布局也是可以设置监听器的

我总结了五种实现时间监听器的方法,可能说法不是正确,不过,知道方法就行了,不必纠结细节

实现事件监听器的方法:

  • 内部类形式
  • 外部类形式
  • Activity本身作为事件监听器类
  • 匿名内部类形式
  • 直接绑定到标签

内部类形式

将事件监听器类定义在当前类的内部

  

public class Test extends Activity{
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button)findViewById(R.id.about);
        MyButtonlistener listener = new MyButtonlistener();
        button.setOnClickListener(listener);
    }
    class MyButtonlistener implements View.OnClickListener{
        @Override
        public void onClick(View v) {
            //相关事件处理
        }
    }
}

外类类形式

Test类

public class Test extends Activity{
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button)findViewById(R.id.about);
        MyButtonlistener listener = new MyButtonlistener();
        button.setOnClickListener(listener);
    }

}

MyButtonlistener类

public class MyButtonlistener implements View.OnClickListener {
    @Override
    public void onClick(View v) {
        //事件处理
    }
}

Activity本身作为事件监听器类

  将Activity本身作为事件监听器类

  

public class Test extends Activity implements View.OnClickListener{
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button)findViewById(R.id.about);
        button.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        //事件处理
    }
}

匿名内部类形式

public class Test extends Activity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button)findViewById(R.id.about);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //事件处理
            }
        });
    }
}

直接绑定到标签

在xml的布局文件中加入onClick属性,设置相关的方法

定义一个方法,记得参数是View

想深入了解的还可以看一下这一篇:Android开发之基于监听的事件处理

原文地址:https://www.cnblogs.com/kexing/p/8475519.html

时间: 2024-10-03 08:18:41

教我徒弟Android开发入门(二)的相关文章

教我徒弟Android开发入门(四)

本期知识点: 两大常用布局的简单介绍 在我们的APP使用第三方库 Android Studio常用快捷键 一.两大常用布局 1.LinearLayout线性布局 线性布局,可以垂直显示或者水平显示,设置LinearLayout显示的方式属性为orientation, 有vertical和horizontal 如果不设置的话,可以显示出一个控件,若是布局放多个控件,就是无法显示出相应的控件,因为布局不知道该如何显示控件 2.RealtiveLayout相对布局 RealtiveLayout,可以根

Android开发入门系列

<1>第一章:java简介- 掌握Java语言基础知识- 理解面向对象的编程思想- 运用Java编写简单的程序- 运用JDBC编写数据库访问程序 本章链接:http://pan.baidu.com/s/1i39OUO1 <2>第二章:Java语言基础      - 理解数据类型       - 掌握运算符       - 掌握数组       - 运用控制流语句 本章链接:(上)http://pan.baidu.com/s/1o6qHOQu(下)http://pan.baidu.c

学习Android开发入门

学习Android开发入门第四章:类与对象(上)-掌握成员变量和局部变量的使用-掌握方法重载和重写-掌握构造方法的执行过程-掌握static关键字的使用-掌握多态 本章 链接:1)http://pan.baidu.com/s/1gdmm3Nt2)http://pan.baidu.com/s/1kTn0sCZ<5>第五章:类与对象(下)- 掌握包的概念及包语句- 掌握掌握各种访问权限- 掌握final和abstract关键字- 掌握接口的定义及使用- 使用Eclispe创建jar包 本章 链接:

android开发入门详细教程

随着移动端开发的火热,越来越多的IT程序员转做移动开发,做J2EE的转做Android开发,现在让麦子学院android开发老师给大家讲讲一些入门经验,希望能给你带来帮助. 工具/原料 .        JDK,ADT,JAVA 方法/步骤 1.   开发工具的准备: 第一个工具:JDK1.7, 第二个工具:Android Developer Tools简称ADT. JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)  只需以上两个工具就可以进行开发

Android开发入门日记

2014.9.3 搭建开发环境: Windows 7/8 JDK ADT-Bundle Android SDK Manager --> Intel Atom x86 System Image --> AVD 2014.9.4 发现了 http://www.androiddevtools.cn ,提供墙内ADT下载. 2014.9.5 发现了很棒的学习网站 http://www.marschen.com ,用这个网站的视频开始学习. 2014.9.9 各种方法仍然无法让SDK Manager正常

Android开发入门的正确姿势,你get到了吗?

在进行Android开发之前,我们先了解一下Android的生态圈现状.Android系统是开源的,任何手机厂商和开发者都有权限去修改系统源代码,定制专属的系统. 这就产生了一个问题,不同手机厂商之间的ROM可能无法安装在对方厂商的手机上,而每个厂商生产的手机型号又多种多样(硬件配置和屏幕尺寸,而屏幕尺寸又会导致UI的适配性问题),Google将Android权限开放带来的结果就是Android的碎片化问题.先看一下当前Android系统版本的分布情况: Android 8.0开发者预览版已经发

android开发入门:android使用全局变量

android使用全局变量的方法有很多,但是简单好用的方法却很少,前段时间在麦子学院android开发视频教程上面发现一个很好的方法:  public class MyApp extends Application {  private Integer[] state;  public Integer[] getState() {  return state;  }  public void setState(Integer[] state) {  this.state = state;  } 

android开发入门之单选框的基本应用

随着android手机越来越火,android操作系统也深受开发者的喜爱,很多程序员慢慢转行做android开发.今天麦子学院的android开发老师给大家讲讲android单选框基本应用,今天我们跟着麦子学院android老师学习Android单选框的实现方式. ●使用Android单选框的时候,要用RadioGroup来分组 ●选择RadioGroup里的单选框的时候,将调用RadioGroup的Check·()方法 ●追加单选框被选择时处理的时候, 1.调用setOnCheckedChan

Android开发学习二:编写Helloworld

学习视频 [中文Android开发视频教学].01_03_say_hello_to_Android.mp4 参考网址: http://www.open-open.com/lib/view/open1386252535564.html