@Override
        public void onPageSelected(int position) {
          View page = adapter.getItem(position);

          int tab_size = tabs.size();
          for (int index = 0; index < tab_size; index++) {
            Pair<View, View> tab = tabs.get(index);
            if (page == tab.second) {
              setCurrentTab(index);
              // TODO denan.wang; 2015/2/13;
              if (page instanceof Pageable) {
                ((Pageable) page).onSelected(TabController.this);
              }
              // END
              // TODO denan.wang; 2015/2/13;
              if (listener != null) {
                listener.onTabChanged(TabController.this);
              }
              // END
              return;
            }
          }
          clearItemState();
        }
 private void invokeOnTabChangeListener() {
   if (mOnTabChangeListener != null) {
     mOnTabChangeListener.onTabChanged(getCurrentTabTag());
   }
 }