Activity 跳转页面工具类

Activity 跳转页面工具类Activity跳转页面工具类packagecom.kun.arno.test.tools;importandroid.content.Intent;importandroid.support.v4.app.Fragment;importjava.io.Serializable;/***@authorArno*@date2018/7/180018…

大家好,又见面了,我是你们的朋友全栈君。

Activity 跳转页面工具

package com.kun.arno.test.tools;

import android.content.Intent;
import android.support.v4.app.Fragment;

import java.io.Serializable;

/**
 * @author Arno
 * @date 2018/7/18 0018
 * @des
 */
public final class ActivityJumpUtils {
    private static ActivityJumpUtils activityJumpUtils = new ActivityJumpUtils();

    private ActivityJumpUtils() {
    }

    /***
     * 获得AppManager的实例
     *
     * @return AppManager实例
     */
    public static ActivityJumpUtils getInstance() {
        if (activityJumpUtils == null) {
            activityJumpUtils = new ActivityJumpUtils();
        }
        return activityJumpUtils;
    }

    /**
     * 界面跳转
     *
     * @param clazz 目标Activity
     */
    public void jumpTo(Class<?> clazz) {
        jumpTo(clazz, null);
    }

    /**
     * 跳转界面,  传参
     *
     * @param clazz 目标Activity
     * @param data  传递{@code key} jumpTo {@code value} Serializable序列化的数据
     */
    public <T extends Serializable> void jumpTo(Class<?> clazz, T data) {
        jumpTo(clazz, "jumpTo", data);
    }

    /**
     * 跳转界面,  传参
     *
     * @param clazz 目标Activity
     * @param key   传递数据的key
     * @param data  传递Serializable序列化的数据
     */
    public <T extends Serializable> void jumpTo(Class<?> clazz, String key, T data) {
        Intent intent = new Intent(ActivityManager.getInstance().currentActivity(), clazz);
        if (null != data) {
            intent.putExtra(key, data);
        }
        ActivityManager.getInstance().currentActivity().startActivity(intent);
    }


    /**
     * startActivityForResult
     *
     * @param clazz       目标Activity
     * @param requestCode 发送判断值
     */
    public void jumpToForResult(Class<?> clazz, int requestCode) {
        jumpToForResult(clazz, requestCode, null);
    }

    /**
     * startActivityForResult with bundle
     *
     * @param clazz       目标Activity
     * @param requestCode 发送判断值
     * @param data        数据
     */
    public <T extends Serializable> void jumpToForResult(Class<?> clazz, int requestCode, T data) {
        jumpToForResult(clazz, requestCode, "jumpToForResult", data);
    }

    /**
     * startActivityForResult with bundle
     *
     * @param clazz       目标Activity
     * @param requestCode 发送判断值
     * @param data        数据
     */
    public <T extends Serializable> void jumpToForResult(Class<?> clazz, int requestCode, String key, T data) {
        Intent intent = new Intent(ActivityManager.getInstance().currentActivity(), clazz);
        if (null != data) {
            intent.putExtra(key, data);
        }
        ActivityManager.getInstance().currentActivity().startActivityForResult(intent, requestCode);
    }

    /**
     * startActivityForResult( fragment要返回值的方法)
     *
     * @param clazz       目标Activity
     * @param requestCode 发送判断值
     */
    public <T extends Serializable> void jumpToForResult(Fragment fragment, Class<?> clazz, int requestCode) {
        jumpToForResult(fragment, clazz, requestCode, null);
    }


    /**
     * startActivityForResult with bundle ( fragment要返回值的方法)
     *
     * @param clazz       目标fragment
     * @param requestCode 发送判断值
     * @param data        数据
     */
    public <T extends Serializable> void jumpToForResult(Fragment fragment, Class<?> clazz, int requestCode, T data) {
        jumpToForResult(fragment, clazz, requestCode, "jumpToForResult", data);
    }

    /**
     * startActivityForResult with bundle ( fragment要返回值的方法)
     *
     * @param clazz       目标fragment
     * @param requestCode 发送判断值
     * @param data        数据
     */
    public <T extends Serializable> void jumpToForResult(Fragment fragment, Class<?> clazz, int requestCode, String key, T data) {
        Intent intent = new Intent(ActivityManager.getInstance().currentActivity(), clazz);
        if (null != data) {
            intent.putExtra(key, data);
        }
        fragment.startActivityForResult(intent, requestCode);
    }

}

 

Activity 页面跳转

ActivityJumpUtils.getInstance().jumpTo(TestActivity.class);

Activity 页面跳转携带序列化参数

ActivityJumpUtils.getInstance().jumpTo(TestActivity.class,"key","value");

Activity页面回调

ActivityJumpUtils.getInstance().jumpToForResult(TestActivity.class,0x11);

Activity页面回调携带序列化参数

ActivityJumpUtils.getInstance().jumpToForResult(TestActivity.class,0x11,"key","value");

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143344.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【JS】不同发布地址页面跳转[通俗易懂]

    【JS】不同发布地址页面跳转[通俗易懂]在使用html+json构建页面时,页面的跳转常用location.href完成当然,也有些直接在a标签的href中完成本来很简单的事,但是发布方式不同,就会一起一些问题,主要是页面路径跳转问题===========================================================列如,制作了两个网站html,同时放在WebSite这个文件夹下这两个网站都是一样的目录…

    2022年5月22日
    46
  • 单片机好学还是plc好学_单片机出路

    单片机好学还是plc好学_单片机出路相信很多学电气工程专业的都会学习PLC,我当初也是电气工程专业,主要学的三菱PLC,后面也玩了下西门子的。当时觉得还挺神奇,也对编程比较感兴趣,不过学校学得太简单了,基本让你编个梯形图控制电机就算是毕业了。后来我就转去做单片机开发了,感觉比PLC更好玩,因为成本低,灵活性也高,可玩性自然也更高。最近我们无际单片机编程也有几个学员是做PLC转行过来学单片机的。我没从事过PLC的工作,根据他们描述,PLC的工资其实也还行,基本也能过万,但是就是出差太频繁,一年300天在外面出差。如果是单身寡

    2022年8月31日
    2
  • 解决:无法打开系统服务 提示“一个或多个Activex控件无法显示”

    解决:无法打开系统服务 提示“一个或多个Activex控件无法显示”问题:电脑打开系统的服务时,出现“一个或多个Activex控件无法显示”的提示,开始以为与IE设置有关,试着在Internet选项->安全,勾选了“允许ActiveX控件”,但是依然无效。解答:解决此问题需编辑注册表(开始->运行,在框中输入“regedit”后,回车),有打开的注册表编辑器中,定位到:HKEY_CURRENT_USER/Software/Microsoft\Win

    2025年8月8日
    3
  • elasticsearch数据库搭建 linux版

    elasticsearch数据库搭建 linux版介绍Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎ApacheLucene(TM)基础上的搜索引擎.当然Elasticsearch并不仅仅是Lucene那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。 实时分析的分布式搜索引擎。 可以扩展到上百台服务器,处理P…

    2022年4月29日
    48
  • idea 激活2022.01.12激活码_最新在线免费激活2022.03.12

    (idea 激活2022.01.12激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1…

    2022年4月2日
    117
  • 跳出循环语句

    跳出循环语句跳出循环语句

    2022年6月4日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号