美文网首页安卓开发那点事
Android_3_新建Activity

Android_3_新建Activity

作者: icechao | 来源:发表于2016-12-22 14:32 被阅读0次

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

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

    这样一个新的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声名中<Activity>节点下添加<intent-filter>
        <intent-filter>    
            <!-- 添加一个事件类开,当有事这个事件过来时 -->
            <action android:name="start_xxx_activity" />    
            <category android:name="android.intent.category.DEFAULT"/> 
        </intent-filter>   
    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

        本文链接:https://www.haomeiwen.com/subject/sythvttx.html