打造属于自己的activity跳转

时间:2020-12-24 20:26:51
在安卓开发中,activity跳转是最常用的,通常我们的用法是intent.putextra("","");然后在另一边使用bundle接受,之后bundle.get   这样做我感觉好麻烦呢,因此应该将这一块抽取出来,其中我是这么做的。直接上代码,这样就可以直接解决这样的问题了呢,其中按照代码规范,我们put进去的一定要写常量,剩下的就那样了。还有一种做法是把所有的跳转事件都给抽取出来,我曾经封装一个navigation的跳转工具类,其中的实现原理是单例模式进行抽取代码,
Intent intent = CircleUserCenterActivity.makeCallIntent(mContext,info.getSuserid(),info.getSnickname()); 

mContext.startActivity(intent);

public static Intent makeCallIntent(Context context, String uid, String nickname) {
    Intent intent = new Intent();  intent.putExtra(EXTRA_UID, uid);  intent.putExtra(EXTRA_NICKNAME, nickname);  intent.setClass(context, CircleUserCenterActivity.class);  return intent; }
 

//navigatior封装跳转工具类

@Singleton

public class Navigator {    @Inject    public Navigator() {    }    /**     * 跳转到主界面     *     * @param context context     */    public void navigateToMain(Context context) {        if (context != null) {            Intent intentToLaunch = MainActivity.getCallingIntent(context, false);            intentToLaunch.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);            intentToLaunch.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);            context.startActivity(intentToLaunch);        }    }

}