Android_3_新建Activity

安卓创建一个新的页面(XxxActvity)

1.右键包名->new-> class
2.继承自系统的Activity,一般这样的类,我们起名是XxxActivty
3.创建一个布局文件,layout文件夹中创建一个布局文件
4.复写Activity的onCreate方法,setContentView中引用布局文件
5.在Menifest.xml文件中的application节点下添加
    

这样一个新的Activity就创建完成了.
然后就需要从第一个页面中打开这个新的页面
打开Activity的方式有两种

一.显示意图
//参数,第一个是Context对像,Activity本身就是,第二个要找开的Activity的字节码文件
Intent intent = new Intent(this,XxxActivity.class);
this.startActivity(intent);
//也可以写成
Intent intent  = new Intent();
intent.setClass(XxxActivity.class);
this.startActivity(intent);
二.隐示意图
1.在AndroidMenifest声名中节点下添加
        
        
            
         
       
2.在代码中使用
//参数是一个字符串表示事件类型,自己定义
    Intent intent = new Intent("start_xxx_activity");
    this.startActvity(intent);
//也可以写成
    Intent intent = new Intent();
    intent.setAction("start_xxx_activity");
    this.startActivity(intent);

在第一个Activity中添加打开第二个Activity的入口

显示意图打开在Actvity:

在第一个Activity中的onCreate方法中添加代码

TextView textView = findViewByid(R.id.text_view);
//参数是一个匿名内部类
textView.setoncClicklistener(new OnClickListener(){
    public void onclick(View view){
        Intent intent = new Intent(this,XxxActivity.class);
        this.startActivity(intent);
    }
});

这种传入一个对象,当方法被调用时反过来执行你事先定义在对象里面的方法的方式,就是回调(个人理解)

百度回调函数解释

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函
数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实
现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

所有的控件都有setOnclick()方法,也就是说现在的安卓控件都可以设置点击事件

给控件设置回调方法有四种方式:
1.先定义一个自己的class文件,实现View.OnclickListener接口
复写onClick()方法
2.当前Activity实现View.OnclickListener接口
复写onClick()方法
3.上面实现的方式,使用匿名内部类的方式,
复写onClick()方法
4.在文件中给控件添加onclick="方法名"属性
在Activity访求中写一个 public void 方法名(View view) 方法,在方法体中实现点击操作
注意:方法必须public且返回值为空,参数是View,方法名和布局文件中声名的onlick属性值一至
在开发中最常用的方式就是使用匿名内部类和当前类实现OnClickListener接口的方式为控件设置回调

结束Activity

想要结束一个Activity,只需要调用内部的finish()方法,这个Activity就会结束同时,在Actvity栈中移除这个Activity

this.finish()

Activity四种启动模式

在AndroidMenifest.xml中的Activty节点中添加属性android:launchMode="standard"

1.standard
标准的启动模式,当Activity打开后就会把这个Activity压入到Activity栈的栈
底,即使是相同的Activity也不会互相影响
2.singleTop
栈顶唯一,当一个Activity已经在栈顶,那么这个Activity不会再压入一个相同的
Activity到栈顶,如果栈顶不是而是栈底存在Activity一样会在栈顶压入一个实例
3.singleTask
单独实例,当栈中已经存这个Activity的实例,就会把这个实例拿出来放到栈顶,

同时也会清除掉这个Activity所在位置顶部的所有Activity,从而使当前Activity成为栈顶
4.singleInstance
单独任务栈,当Activity被打开时,会单独开一个任务栈存放这个Activity

你可能感兴趣的:(Android_3_新建Activity)