@Override
  public void onPrepareOptionsMenu(Menu menu) {
    super.onPrepareOptionsMenu(menu);
    if (bean.isFollowing()) {
      menu.findItem(R.id.menu_follow).setVisible(false);
      menu.findItem(R.id.menu_unfollow).setVisible(true);
      menu.findItem(R.id.menu_manage_group).setVisible(true);
    } else {
      menu.findItem(R.id.menu_follow).setVisible(true);
      menu.findItem(R.id.menu_unfollow).setVisible(false);
      menu.findItem(R.id.menu_manage_group).setVisible(false);
    }

    if (!bean.isFollowing() && bean.isFollow_me()) {
      menu.findItem(R.id.menu_remove_fan).setVisible(true);
    } else {
      menu.findItem(R.id.menu_remove_fan).setVisible(false);
    }
  }
  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    switch (getCurrentState(savedInstanceState)) {
      case FIRST_TIME_START:
        bean = ((IUserInfo) getActivity()).getUser();
        refresh();
        break;
      case SCREEN_ROTATE:
        // nothing

        break;
      case ACTIVITY_DESTROY_AND_CREATE:
        topicList = savedInstanceState.getStringArrayList("topicList");
        bean = (UserBean) savedInstanceState.getSerializable("bean");
        break;
    }

    commander = ((AbstractAppActivity) getActivity()).getBitmapDownloader();
    setValue();
  }
 @Override
 public void onDestroy() {
   super.onDestroy();
   Utility.cancelTasks(task, avatarTask, topicListTask);
 }
 @Override
 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setHasOptionsMenu(true);
   setRetainInstance(true);
 }
 @Override
 public void onSaveInstanceState(Bundle outState) {
   super.onSaveInstanceState(outState);
   outState.putStringArrayList("topicList", topicList);
   outState.putSerializable("bean", bean);
 }