教我徒弟Android开发入门

Posted Stars-one

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教我徒弟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开发之基于监听的事件处理

 

以上是关于教我徒弟Android开发入门的主要内容,如果未能解决你的问题,请参考以下文章

谷歌开源《Android开发入门精编》,极致经典,堪称Android入门教程的天花板

谷歌大佬重磅推荐《Android开发入门精编》,极致经典,堪称Android入门教程的天花板

推荐net开发cad入门阅读代码片段

Android开发常用代码片段

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

Android代码片段