在安卓开发中,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); } }
}