本文整理汇总了Java中android.support.v4.app.FragmentTransaction.attach方法的典型用法代码示例。如果您正苦于以下问题:Java FragmentTransaction.attach方法的具体用法?Java FragmentTransaction.attach怎么用?Java FragmentTransaction.attach使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.support.v4.app.FragmentTransaction
的用法示例。
在下文中一共展示了FragmentTransaction.attach方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setCurrentItem
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
public void setCurrentItem(int itemId) {
String name = makeFragmentName(containerId, itemId);
Fragment fragment = manager.findFragmentByTag(name);
FragmentTransaction fragmentTransaction = manager.beginTransaction();
if (fragment != null) {
fragmentTransaction.attach(fragment);
if (fragment.isHidden()) {
fragmentTransaction.show(fragment);
}
} else {
fragment = getItem(itemId);
fragmentTransaction.add(containerId, fragment, name);
}
if (fragment != current && current != null) {
fragmentTransaction.hide(current);
}
current = fragment;
fragmentTransaction.commit();
}
示例2: switchFragment
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
private void switchFragment(@NonNull Fragment fragment, String tag) {
if (fragment.isAdded()) {
return;
}
final FragmentManager manager = getSupportFragmentManager();
final FragmentTransaction fragmentTransaction = manager.beginTransaction();
final Fragment currentFragment = manager.findFragmentById(R.id.container);
if (currentFragment != null) {
fragmentTransaction.detach(currentFragment);
}
if (fragment.isDetached()) {
fragmentTransaction.attach(fragment);
} else {
fragmentTransaction.add(R.id.container, fragment, tag);
}
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
.commit();
}
示例3: onTabChanged
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
public void onTabChanged(String tag) {
TabInfo newTab = this.mapTabInfo.get(tag);
if (mLastTab != newTab) {
FragmentTransaction ft = this.getSupportFragmentManager().beginTransaction();
if (mLastTab != null) {
if (mLastTab.fragment != null) {
ft.detach(mLastTab.fragment);
}
}
if (newTab != null) {
if (newTab.fragment == null) {
newTab.fragment = Fragment.instantiate(this,
newTab.clss.getName(), newTab.args);
ft.add(R.id.realtabcontent, newTab.fragment, newTab.tag);
} else {
ft.attach(newTab.fragment);
}
}
mLastTab = newTab;
ft.commit();
this.getSupportFragmentManager().executePendingTransactions();
}
}
示例4: doTabChanged
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
private void doTabChanged(NavigationButton oldNavButton, NavigationButton newNavButton) {
FragmentTransaction ft = mFragmentManager.beginTransaction();
if (oldNavButton != null) {
if (oldNavButton.getFragment() != null) {
ft.detach(oldNavButton.getFragment());
}
}
if (newNavButton != null) {
if (newNavButton.getFragment() == null) {
Fragment fragment = Fragment.instantiate(mContext,
newNavButton.getClx().getName(), null);
ft.add(mContainerId, fragment, newNavButton.getTag());
newNavButton.setFragment(fragment);
} else {
ft.attach(newNavButton.getFragment());
}
}
ft.commit();
}
示例5: switchFragment
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
private void switchFragment(NavButton oldNavButton, NavButton selectNav) {
FragmentTransaction transaction = mFragmentManager.beginTransaction();
if (oldNavButton != null) {
if (oldNavButton.getFragment() != null) {
transaction.detach(oldNavButton.getFragment());
}
}
if (selectNav != null) {
if (selectNav.getFragment() != null) {
transaction.attach(selectNav.getFragment());
} else {
// Fragment.instantiate工具方法,再也不用自己newInstance().
Fragment fragment = Fragment.instantiate(mContext, selectNav.getClx().getName(), null);
transaction.add(mContainerId, fragment, selectNav.getNavBtnTag());
selectNav.setFragment(fragment);
}
}
transaction.commit();
}
示例6: onCreate
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final ActionBar actionbar = getSupportActionBar();
actionbar.setDisplayHomeAsUpEnabled(true);
actionbar.setHomeButtonEnabled(true);
actionbar.setTitle(getIntent().getExtras().getString(
Constants.PARAM_NAME));
final FragmentManager fm = getSupportFragmentManager();
Fragment f = fm.findFragmentByTag(GraphFragment.TAG);
final FragmentTransaction ft = fm.beginTransaction();
if (f == null) {
f = GraphFragment.newInstance();
f.setArguments(getIntent().getExtras());
ft.add(android.R.id.content, f, GraphFragment.TAG);
} else {
ft.attach(f);
}
ft.commit();
}
示例7: setCurrentItem
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
public void setCurrentItem(int itemId, boolean addToStack) {
String name = makeFragmentName(containerId, itemId);
Fragment fragment = manager.findFragmentByTag(name);
FragmentTransaction fragmentTransaction = manager.beginTransaction();
if (fragment != null) {
fragmentTransaction.attach(fragment);
if (fragment.isHidden()) {
fragmentTransaction.show(fragment);
}
} else {
fragment = getItem(itemId);
fragmentTransaction.add(containerId, fragment, name);
}
if (fragment != current && current != null) {
fragmentTransaction.hide(current);
}
current = fragment;
if (addToStack) {
fragmentTransaction.addToBackStack(name);
}
fragmentTransaction.commit();
}
示例8: pop
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
public void pop(TransitionAnimation animation) {
List<Fragment> fragments = getFragments();
int count = fragments.size();
if (count == 0) {
throw new IllegalStateException("Can't pop fragment when stack is empty.");
}
Fragment currentFragment = fragments.get(count - 1);
Fragment previousFragment = count > 1 ? fragments.get(count - 2) : null;
FragmentTransaction transaction = mFragmentManager.beginTransaction();
if (previousFragment != null) {
animation.applyBeforeFragmentTransactionExecuted(transaction, previousFragment, currentFragment);
}
transaction.remove(currentFragment);
if (previousFragment != null) {
transaction.attach(previousFragment);
}
transaction.commitNow();
if (previousFragment != null) {
animation.applyAfterFragmentTransactionExecuted(previousFragment, currentFragment);
}
}
示例9: popUntil
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
public void popUntil(Fragment fragment, TransitionAnimation animation) {
List<Fragment> fragments = getFragments();
int count = fragments.size();
int index = fragments.indexOf(fragment);
if (index == -1) {
throw new IllegalArgumentException("Fragment is not found.");
}
if (index == count - 1) {
return; // nothing to do
}
FragmentTransaction transaction = mFragmentManager.beginTransaction();
for (int i = index + 1; i < count; i++) {
if (i == count - 1) {
animation.applyBeforeFragmentTransactionExecuted(transaction, fragment, fragments.get(i));
}
transaction.remove(fragments.get(i));
}
transaction.attach(fragment);
transaction.commitNow();
animation.applyAfterFragmentTransactionExecuted(fragment, fragments.get(count - 1));
}
示例10: switchTo
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
public void switchTo(Fragment fragment, TransitionAnimation animation) {
List<Fragment> fragments = getFragments();
boolean isNewFragment = !fragments.contains(fragment);
Fragment currentFragment = getCurrentFragment();
FragmentTransaction transaction = mFragmentManager.beginTransaction();
if (currentFragment != null) {
animation.applyBeforeFragmentTransactionExecuted(transaction, fragment, currentFragment);
transaction.detach(currentFragment);
}
if (isNewFragment) {
transaction.add(mContainerId, fragment, getFragmentTag(fragments.size()));
} else {
transaction.attach(fragment);
}
transaction.commitNow();
if (currentFragment != null) {
animation.applyAfterFragmentTransactionExecuted(fragment, currentFragment);
}
}
示例11: showDirectoryWithSelectedTab
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
private void showDirectoryWithSelectedTab(FileInfo fileInfo) {
Preconditions.checkNotNull(fileInfo, "fileInfo == null");
Preconditions.checkNotNull(mSelectedDirectory, "mSelectedDirectory == null");
Log.d(TAG, "showDirectoryWithSelectedTab: " + fileInfo.getName());
if (mSelectedDirectory != fileInfo) {
FragmentTransaction ft = mFragmentManager.beginTransaction();
Fragment f = mFragmentManager.findFragmentByTag(mSelectedDirectory.getAbsolutePath());
if (f != null && !f.isDetached()) {
ft.detach(f);
}
mSelectedDirectory = fileInfo;
f = mFragmentManager.findFragmentByTag(fileInfo.getAbsolutePath());
if (f == null) {
f = FileInfosFragment.newInstance(fileInfo.getAbsolutePath());
ft.add(R.id.contentFrame, f, fileInfo.getAbsolutePath());
} else {
ft.attach(f);
}
ft.commit();
}
}
示例12: freshUI
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
private void freshUI(){
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment fragment = fragmentManager.findFragmentByTag(FreshNewsPostsFragment.TAG);
if(fragment == null){
fragment = new FreshNewsPostsFragment();
fragmentTransaction.add(R.id.container,fragment,FreshNewsPostsFragment.TAG);
}else{
fragmentTransaction.attach(fragment);
}
fragmentTransaction.commit();
}
示例13: changeFragment
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
/**
* Shows fragment at position and detaches previous fragment if exists. If fragment is found in
* fragment manager, it is reattached else added.
*
* @param position
* @return fragment at position
*/
public Fragment changeFragment(int position) {
String tag = makeFragmentName(container.getId(), getItemId(position));
FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
/*
If fragment manager doesn't have an instance of the fragment, get an instance
and add it to the transaction. Else, attach the instance to transaction.
*/
Fragment fragment = mFragmentManager.findFragmentByTag(tag);
if (fragment == null) {
fragment = getItem(position);
fragmentTransaction.add(container.getId(), fragment, tag);
} else {
fragmentTransaction.attach(fragment);
}
// Detach existing primary fragment
Fragment curFrag = mFragmentManager.getPrimaryNavigationFragment();
if (curFrag != null) {
fragmentTransaction.detach(curFrag);
}
// Set fragment as primary navigator for child manager back stack to be handled by system
fragmentTransaction.setPrimaryNavigationFragment(fragment);
fragmentTransaction.setReorderingAllowed(true);
fragmentTransaction.commitNowAllowingStateLoss();
return fragment;
}
示例14: doTabChanged
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
private FragmentTransaction doTabChanged(final 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);
}
FragmentTransaction fragmentTransaction = ft;
if (!newTab.equals(mLastTab)) {
if (fragmentTransaction == null) {
fragmentTransaction = mFragmentManager.beginTransaction();
}
if (mLastTab != null) {
if (mLastTab.fragment != null) {
fragmentTransaction.detach(mLastTab.fragment);
}
}
if (newTab.fragment == null) {
newTab.fragment = Fragment.instantiate(mContext,
newTab.clss.getName(), newTab.args);
newTab.fragment.setRetainInstance(mIsRetanedFragments);
fragmentTransaction.add(mContainerId, newTab.fragment,
newTab.tag);
} else {
fragmentTransaction.attach(newTab.fragment);
}
mLastTab = newTab;
}
return fragmentTransaction;
}
示例15: showDirectoryWithBackPressed
import android.support.v4.app.FragmentTransaction; //导入方法依赖的package包/类
private void showDirectoryWithBackPressed() {
Preconditions.checkNotNull(mSelectedDirectory, "mSelectedDirectory == null");
Preconditions.checkArgument(mDirectories.contains(mSelectedDirectory),
"mDirectories not contain:" + mSelectedDirectory.getAbsolutePath());
final int selectedPosition = mDirectories.indexOf(mSelectedDirectory);
if (selectedPosition == 0) {
finish();
} else {
FragmentTransaction ft = mFragmentManager.beginTransaction();
Fragment f = mFragmentManager.findFragmentByTag(mSelectedDirectory.getAbsolutePath());
if (f != null && !f.isDetached()) {
ft.detach(f);
}
int previousPosition = selectedPosition - 1;
FileInfo previous = mSelectedDirectory = mDirectories.get(previousPosition);
f = mFragmentManager.findFragmentByTag(previous.getAbsolutePath());
if (f == null) {
f = FileInfosFragment.newInstance(previous.getAbsolutePath());
ft.add(R.id.contentFrame, f, previous.getAbsolutePath());
} else {
ft.attach(f);
}
ft.commit();
Message msg = mMyHandler.obtainMessage();
msg.arg1 = previousPosition;
mMyHandler.sendMessageDelayed(msg, 100L);
}
}