標籤的點擊切換: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