下面列出了android.app.FragmentTransaction#attach ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private FragmentTransaction doTabChanged(String tabId, FragmentTransaction ft) {
TabInfo newTab = null;
for (int i=0; i<mTabs.size(); i++) {
TabInfo tab = mTabs.get(i);
if (tab.tag.equals(tabId)) {
newTab = tab;
}
}
if (newTab == null) {
throw new IllegalStateException("No tab known for tag " + tabId);
}
if (mLastTab != newTab) {
if (ft == null) {
ft = mFragmentManager.beginTransaction();
}
if (mLastTab != null) {
if (mLastTab.fragment != null) {
ft.detach(mLastTab.fragment);
}
}
if (newTab != null) {
if (newTab.fragment == null) {
newTab.fragment = Fragment.instantiate(mContext,
newTab.clss.getName(), newTab.args);
ft.add(mContainerId, newTab.fragment, newTab.tag);
} else {
ft.attach(newTab.fragment);
}
}
mLastTab = newTab;
}
return ft;
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// Check if the fragment is already initialized
if (mFragment == null) {
// If not, instantiate and add it to the activity
mFragment = Fragment.instantiate(mActivity, mClass.getName());
ft.add(android.R.id.content, mFragment, mTag);
} else {
// If it exists, simply attach it in order to show it
ft.attach(mFragment);
}
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if (mFragment == null) {
mFragment = Fragment.instantiate(mActivity, mClass.getName(), mArgs);
ft.add(android.R.id.content, mFragment, mTag);
} else {
ft.attach(mFragment);
}
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// Check if the fragment is already initialized
if (mFragment == null) {
// If not, instantiate and add it to the activity
mFragment = Fragment.instantiate(mActivity, mClass.getName());
ft.add(android.R.id.content, mFragment, mTag);
} else {
// If it exists, simply attach it in order to show it
ft.setCustomAnimations(android.R.animator.fade_in,
R.animator.animationtest);
ft.attach(mFragment);
}
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
public void attach(Fragment fragment,
FragmentTransaction currTransaction) {
currTransaction.attach(fragment);
}
private FragmentTransaction a(String s, FragmentTransaction fragmenttransaction)
{
j j1 = null;
int i = 0;
while (i < a.size())
{
j j2 = (j)a.get(i);
if (!j.b(j2).equals(s))
{
j2 = j1;
}
i++;
j1 = j2;
}
if (j1 == null)
{
throw new IllegalStateException((new StringBuilder()).append("No tab known for tag ").append(s).toString());
}
if (g != j1)
{
if (fragmenttransaction == null)
{
fragmenttransaction = d.beginTransaction();
}
if (g != null && j.a(g) != null)
{
fragmenttransaction.detach(j.a(g));
}
if (j1 != null)
{
if (j.a(j1) == null)
{
j.a(j1, Fragment.instantiate(c, j.c(j1).getName(), j.d(j1)));
fragmenttransaction.add(e, j.a(j1), j.b(j1));
} else
{
fragmenttransaction.attach(j.a(j1));
}
}
g = j1;
}
return fragmenttransaction;
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
public void attach(Fragment fragment,
FragmentTransaction currTransaction) {
currTransaction.attach(fragment);
}