Loading api/current.xml +15 −0 Original line number Original line Diff line number Diff line Loading @@ -19972,6 +19972,21 @@ deprecated="not deprecated" deprecated="not deprecated" visibility="public" visibility="public" > > <method name="onTabReselected" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="tab" type="android.app.ActionBar.Tab"> </parameter> <parameter name="ft" type="android.app.FragmentTransaction"> </parameter> </method> <method name="onTabSelected" <method name="onTabSelected" return="void" return="void" abstract="true" abstract="true" core/java/android/app/ActionBar.java +10 −0 Original line number Original line Diff line number Diff line Loading @@ -470,5 +470,15 @@ public abstract class ActionBar { * will be executed in a single transaction. * will be executed in a single transaction. */ */ public void onTabUnselected(Tab tab, FragmentTransaction ft); public void onTabUnselected(Tab tab, FragmentTransaction ft); /** * Called when a tab that is already selected is chosen again by the user. * Some applications may use this action to return to the top level of a category. * * @param tab The tab that was reselected. * @param ft A {@link FragmentTransaction} for queuing fragment operations to execute * once this method returns. */ public void onTabReselected(Tab tab, FragmentTransaction ft); } } } } core/java/com/android/internal/app/ActionBarImpl.java +14 −11 Original line number Original line Diff line number Diff line Loading @@ -326,12 +326,14 @@ public class ActionBarImpl extends ActionBar { @Override @Override public void selectTab(Tab tab) { public void selectTab(Tab tab) { final FragmentTransaction trans = mActivity.getFragmentManager().openTransaction(); if (mSelectedTab == tab) { if (mSelectedTab == tab) { return; if (mSelectedTab != null) { mSelectedTab.getCallback().onTabReselected(mSelectedTab, trans); } } } else { mActionView.setTabSelected(tab != null ? tab.getPosition() : Tab.INVALID_POSITION); mActionView.setTabSelected(tab != null ? tab.getPosition() : Tab.INVALID_POSITION); final FragmentTransaction trans = mActivity.getFragmentManager().openTransaction(); if (mSelectedTab != null) { if (mSelectedTab != null) { mSelectedTab.getCallback().onTabUnselected(mSelectedTab, trans); mSelectedTab.getCallback().onTabUnselected(mSelectedTab, trans); } } Loading @@ -339,6 +341,7 @@ public class ActionBarImpl extends ActionBar { if (mSelectedTab != null) { if (mSelectedTab != null) { mSelectedTab.getCallback().onTabSelected(mSelectedTab, trans); mSelectedTab.getCallback().onTabSelected(mSelectedTab, trans); } } } if (!trans.isEmpty()) { if (!trans.isEmpty()) { trans.commit(); trans.commit(); Loading Loading
api/current.xml +15 −0 Original line number Original line Diff line number Diff line Loading @@ -19972,6 +19972,21 @@ deprecated="not deprecated" deprecated="not deprecated" visibility="public" visibility="public" > > <method name="onTabReselected" return="void" abstract="true" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="tab" type="android.app.ActionBar.Tab"> </parameter> <parameter name="ft" type="android.app.FragmentTransaction"> </parameter> </method> <method name="onTabSelected" <method name="onTabSelected" return="void" return="void" abstract="true" abstract="true"
core/java/android/app/ActionBar.java +10 −0 Original line number Original line Diff line number Diff line Loading @@ -470,5 +470,15 @@ public abstract class ActionBar { * will be executed in a single transaction. * will be executed in a single transaction. */ */ public void onTabUnselected(Tab tab, FragmentTransaction ft); public void onTabUnselected(Tab tab, FragmentTransaction ft); /** * Called when a tab that is already selected is chosen again by the user. * Some applications may use this action to return to the top level of a category. * * @param tab The tab that was reselected. * @param ft A {@link FragmentTransaction} for queuing fragment operations to execute * once this method returns. */ public void onTabReselected(Tab tab, FragmentTransaction ft); } } } }
core/java/com/android/internal/app/ActionBarImpl.java +14 −11 Original line number Original line Diff line number Diff line Loading @@ -326,12 +326,14 @@ public class ActionBarImpl extends ActionBar { @Override @Override public void selectTab(Tab tab) { public void selectTab(Tab tab) { final FragmentTransaction trans = mActivity.getFragmentManager().openTransaction(); if (mSelectedTab == tab) { if (mSelectedTab == tab) { return; if (mSelectedTab != null) { mSelectedTab.getCallback().onTabReselected(mSelectedTab, trans); } } } else { mActionView.setTabSelected(tab != null ? tab.getPosition() : Tab.INVALID_POSITION); mActionView.setTabSelected(tab != null ? tab.getPosition() : Tab.INVALID_POSITION); final FragmentTransaction trans = mActivity.getFragmentManager().openTransaction(); if (mSelectedTab != null) { if (mSelectedTab != null) { mSelectedTab.getCallback().onTabUnselected(mSelectedTab, trans); mSelectedTab.getCallback().onTabUnselected(mSelectedTab, trans); } } Loading @@ -339,6 +341,7 @@ public class ActionBarImpl extends ActionBar { if (mSelectedTab != null) { if (mSelectedTab != null) { mSelectedTab.getCallback().onTabSelected(mSelectedTab, trans); mSelectedTab.getCallback().onTabSelected(mSelectedTab, trans); } } } if (!trans.isEmpty()) { if (!trans.isEmpty()) { trans.commit(); trans.commit(); Loading