标签的点击切换:java
tab.setOnClickListener:position为所点击标签的排序ide
private void addTab(final int position, View tab) { tab.setFocusable(true); tab.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ifPositionTwo(position); pager.setCurrentItem(position); } }); tab.setPadding(tabPadding, 0, tabPadding, 0); tabsContainer.addView(tab, position, shouldExpand ? expandedTabLayoutParams : defaultTabLayoutParams); }
当position为某个值时,修改其中一个Fragment,并更新标签:spa
/** * 当position为2时,改变标题栏,并改变相关显示 * * @param position */ private void ifPositionTwo(int position) { if (position == 2) { currentPositionOffset = 0f; if (isChongfu) { isChongfu = false; String[] titleStrings = { "所有", "销量", "价格∧", "新品" }; List<SuperAwesomeCardFragment> superAwesomeCardFragmentList = ((TitlesFramentPagerAdapter) pager .getAdapter()).getSuperAwesomeCardFragmentList(); superAwesomeCardFragmentList.get(position).setWay("3"); ((TitlesFramentPagerAdapter) pager.getAdapter()).updataFragments(superAwesomeCardFragmentList); ((TitlesFramentPagerAdapter) pager.getAdapter()).setTitleStrings(titleStrings); notifyDataSetChanged(); } else { isChongfu = true; String[] titleStrings = { "所有", "销量", "价格v", "新品" }; List<SuperAwesomeCardFragment> superAwesomeCardFragmentList = ((TitlesFramentPagerAdapter) pager .getAdapter()).getSuperAwesomeCardFragmentList(); superAwesomeCardFragmentList.get(position).setWay("2"); ((TitlesFramentPagerAdapter) pager.getAdapter()).updataFragments(superAwesomeCardFragmentList); ((TitlesFramentPagerAdapter) pager.getAdapter()).setTitleStrings(titleStrings); notifyDataSetChanged(); } // invalidate(); } else { if (isChongfu) { isChongfu = false; } else { isChongfu = true; } } }
后记:code
看到最后,估计看清楚明白了吧,没错这就是为了将:排序
价格∧
变成:get
价格v