work_weipa_登录前后进入不同的界面

来源:互联网 发布:qq认证群排名优化 编辑:程序博客网 时间:2024/04/28 07:15

问题:viewpager以及activity中fragment之间,在登录之后如何使得能够进入不同的界面,同时登录前后不同界面又有不同的布局?

回答:在MainActivity中封装一个方法,然后在各个界面进行调用

例子:

public void replaces(String currentTagName) {if (this.userId == 0) {HomeFragment homeFragment = new HomeFragment();LoginFragment loginFragment = new LoginFragment();ViewerFragment viewerFragment = new ViewerFragment();TransmitFragment transmitFragment = new TransmitFragment();Map<String, Fragment> newFragments = new HashMap<String, Fragment>();newFragments.put("home", homeFragment);newFragments.put("login", loginFragment);newFragments.put("viewer", viewerFragment);newFragments.put("transmit", transmitFragment);int id = R.id.main_content;for (Map.Entry<String, Fragment> entry : newFragments.entrySet()) {Fragment oldFragment = fragmentManager.findFragmentByTag(entry.getKey());if (oldFragment == null || currentTagName.equals(entry.getKey())) {continue;}fragmentManager.beginTransaction().setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).remove(oldFragment).commit();fragmentManager.beginTransaction().setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE).add(id, entry.getValue(), entry.getKey()).commit();}//this.replaceMain(currentTagName);}

mainActivity.replaces("login");user = userManager.getEntity();mainActivity.setUserId(user.getId());


0 0
原创粉丝点击