@Override public Object instantiateItem(ViewGroup container, int position) { if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } final long itemId = getItemId(position); // Do we already have this fragment? String name = makeFragmentName(container.getId(), itemId); Fragment fragment = mFragmentManager.findFragmentByTag(name); if (fragment != null) { if (DEBUG) Log.v(TAG, "Attaching item #" + itemId + ": f=" + fragment); mCurTransaction.attach(fragment); } else { fragment = getItem(position); if (DEBUG) Log.v(TAG, "Adding item #" + itemId + ": f=" + fragment); mCurTransaction.add(container.getId(), fragment, makeFragmentName(container.getId(), itemId)); } if (fragment != mCurrentPrimaryItem) { // FragmentCompat.setMenuVisibility(fragment, false); // FragmentCompat.setUserVisibleHint(fragment, false); setMenuVisibility(fragment, false); setUserVisibleHint(fragment, false); } return fragment; }
public static ViewOverlayPreJellybean getOverlay(ViewGroup sceneRoot) { if (sceneRoot != null) { ViewGroup group = sceneRoot; while (group.getId() != android.R.id.content && group.getParent() != null && group.getParent() instanceof ViewGroup) { group = (ViewGroup) group.getParent(); } for (int i = 0; i < group.getChildCount(); i++) { View child = group.getChildAt(i); if (child instanceof ViewOverlayPreJellybean) { return (ViewOverlayPreJellybean) child; } } final FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); params.gravity = Gravity.FILL; ViewOverlayPreJellybean viewOverlay = new ViewOverlayPreJellybean(sceneRoot.getContext()); group.addView(viewOverlay, params); return viewOverlay; } else { return null; } }
public Object instantiateItem(ViewGroup paramViewGroup, int paramInt) { if (mFragments.size() > paramInt) { localFragment = (Fragment) mFragments.get(paramInt); if (localFragment != null) { return localFragment; } } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment localFragment = getItem(paramInt); if (mSavedState.size() > paramInt) { Fragment.SavedState localSavedState = (Fragment.SavedState) mSavedState.get(paramInt); if (localSavedState != null) { localFragment.setInitialSavedState(localSavedState); } } while (mFragments.size() <= paramInt) { mFragments.add(null); } localFragment.setMenuVisibility(false); localFragment.setUserVisibleHint(false); mFragments.set(paramInt, localFragment); mCurTransaction.add(paramViewGroup.getId(), localFragment); return localFragment; }
public Object instantiateItem(ViewGroup viewgroup, int i) { if (e == null) { e = f.beginTransaction(); } Object obj = ((c) b.get(i)).d; obj = f.findFragmentByTag(((String) (obj))); if (obj != null) { e.attach(((Fragment) (obj))); } else { Fragment fragment = f.findFragmentByTag(((c) b.get(i)).d); obj = fragment; if (fragment == null) { c c1 = (c) b.get(i); obj = Fragment.instantiate(c, c1.a.getName(), c1.b); c1.d = (new StringBuilder("PagerFragment.")).append(i).toString(); } e.add( viewgroup.getId(), ((Fragment) (obj)), (new StringBuilder("PagerFragment.")).append(i).toString()); } if (obj != d) { ((Fragment) (obj)).setMenuVisibility(false); ((Fragment) (obj)).setUserVisibleHint(false); } return obj; }
public View layoutHeaderOrFooterView(TiViewProxy viewProxy) { TiUIView tiView = viewProxy.peekView(); if (tiView != null) { TiViewProxy parentProxy = viewProxy.getParent(); // Remove parent view if possible if (parentProxy != null) { TiUIView parentView = parentProxy.peekView(); if (parentView != null) { parentView.remove(tiView); } } } else { tiView = viewProxy.forceCreateView(); } View outerView = tiView.getOuterView(); ViewGroup parentView = (ViewGroup) outerView.getParent(); if (parentView != null && parentView.getId() == HEADER_FOOTER_WRAP_ID) { return parentView; } else { // add a wrapper so layout params such as height, width takes in effect. TiCompositeLayout wrapper = new TiCompositeLayout(viewProxy.getActivity(), LayoutArrangement.DEFAULT, null); AbsListView.LayoutParams params = new AbsListView.LayoutParams( AbsListView.LayoutParams.MATCH_PARENT, AbsListView.LayoutParams.WRAP_CONTENT); wrapper.setLayoutParams(params); outerView = tiView.getOuterView(); wrapper.addView(outerView, tiView.getLayoutParams()); wrapper.setId(HEADER_FOOTER_WRAP_ID); return wrapper; } }
@Override public Object instantiateItem(ViewGroup container, int position) { Fragment fragment; // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. fragment = mFragments.get(position); if (fragment != null) { return fragment; } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } FragmentState fs = mFragmentStates.get(position); if (fs != null) { FragmentManager fragmentManager = getFragmentActivity().getSupportFragmentManager(); if (getParentFragment() != null) { fragmentManager = getParentFragment().getChildFragmentManager(); } // Fix Can't change tag of fragment Error // http://stackoverflow.com/questions/24355838/cant-change-tag-of-fragment-error-trying-to-use-a-pageradapter-for-switching if ((fs.mTag != null && fs.mTag.equals(mFragmentTags.get(position))) || (fs.mTag == null && mFragmentTags.get(position) == null)) { fragment = fs.instantiate( FragmentUtils.getFragmentHostCallback(fragmentManager), getParentFragment(), FragmentUtils.getFragmentManagerNonConfig(fragmentManager)); // Fix bug // http://stackoverflow.com/questions/11381470/classnotfoundexception-when-unmarshalling-android-support-v4-view-viewpagersav if (fragment.mSavedFragmentState != null) { fragment.mSavedFragmentState.setClassLoader(fragment.getClass().getClassLoader()); } } else { Log.e( TAG, String.format( "Fragment tag isn't equal! Origin: %s %s", fs.mTag, mFragmentTags.get(position))); mFragmentStates.set(position, null); } } if (fragment == null) { fragment = Fragment.instantiate( getFragmentActivity(), mFragmentClassNames.get(position), mFragmentArgs.get(position)); } if (DEBUG) { Log.v(TAG, "Adding item #" + position + ": f=" + fragment); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.set(position, fragment); mFragmentStates.set(position, null); mCurTransaction.add(container.getId(), fragment, mFragmentTags.get(position)); return fragment; }
public View getUpperViewIn(View view, String listId) { ViewGroup p = (ViewGroup) view.getParent(); ViewGroup t = null; while (p != null) { LogEx.i(p.toString()); t = (ViewGroup) p.getParent(); if (t != null && t.getId() == this.getId(listId)) return p; p = t; } return null; }
@Override public Object instantiateItem(final ViewGroup container, final int position) { if (currentTransaction == null) currentTransaction = fragmentManager.beginTransaction(); final String tag = (position == 0) ? TAG_LEFT : TAG_RIGHT; final Fragment fragment = (position == 0) ? left : right; currentTransaction.add(container.getId(), fragment, tag); if (fragment != currentPrimaryItem) { fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); } return fragment; }
@Nullable @Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.reminderlist_wearable_list_layout, container, false); Log.d("TAG", "ReminderList:::" + MobileApplication.getInstance().getReminderList()); if (!TextUtils.isEmpty(MobileApplication.getInstance().getReminderList())) { remindersDTOList = JSONParser.getInstance() .getRemindersList(MobileApplication.getInstance().getReminderList()); } else { // Dummy Data populateWorkList(); } // This is our list header // listHeader = (RelativeLayout)view.findViewById(R.id.reminder_header); WearableListView wearableListView = (WearableListView) view.findViewById(R.id.reminder_List); mContainerId = container.getId(); Toolbar mToolBar = (Toolbar) getActivity().findViewById(R.id.toolbar); TextView toolbarTitle = (TextView) mToolBar.findViewById(R.id.title); toolbarTitle.setText("Reminders"); ImageView back_img = (ImageView) mToolBar.findViewById(R.id.back); back_img.setVisibility(View.VISIBLE); back_img.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction .replace(mContainerId, new DashBoardWearableListFragment()) .addToBackStack(null) .commit(); } }); wearableListView.setAdapter(new ReminderListAdapter(getActivity(), remindersDTOList)); WearableListView.ItemDecoration itemDecoration = new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST); wearableListView.addItemDecoration(itemDecoration); wearableListView.setClickListener(mClickListener); wearableListView.addOnScrollListener(mOnScrollListener); return view; }
@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.wearable_inset_list, container, false); mContainerId = container.getId(); listView = (WearableListView) view.findViewById(R.id.wearable_list); listView.setGreedyTouchMode(true); Toolbar mToolBar = (Toolbar) getActivity().findViewById(R.id.toolbar); toolBarTitle = (TextView) mToolBar.findViewById(R.id.title); checkOut = (TextView) mToolBar.findViewById(R.id.checkout); return view; }
@Override public Object instantiateItem(ViewGroup container, int position) { createIdCache(); // If we already have this item instantiated, there is nothing // to do. This can happen when we are restoring the entire pager // from its saved state, where the fragment manager has already // taken care of restoring the fragments we previously had instantiated. if (mFragments.size() > position) { Fragment f = mFragments.get(position); if (f != null) { return f; } } if (mCurTransaction == null) { mCurTransaction = mFragmentManager.beginTransaction(); } Fragment fragment = getItem(position); if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment); if (mSavedState.size() > position) { Fragment.SavedState fss = mSavedState.get(position); if (fss != null) { fragment.setInitialSavedState(fss); } } while (mFragments.size() <= position) { mFragments.add(null); } fragment.setMenuVisibility(false); fragment.setUserVisibleHint(false); mFragments.set(position, fragment); mCurTransaction.add(container.getId(), fragment); return fragment; }
@SuppressWarnings("unchecked") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); printLog( Consts.TAG, "onCreate: savedInstanceState " + (savedInstanceState == null ? "==" : "!=") + " null"); // This has to be called before setContentView and you must use the // class in android.support.v4.view and NOT android.view requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.activity_main); /* * if(Consts.DEVELOPER_MODE) Debug.startMethodTracing(); */ fm = getSupportFragmentManager(); if (Consts.DEVELOPER_MODE) FragmentManager.enableDebugLogging(true); /* CREATE OUR DISK CACHE TO STORE IMAGES */ if (Utils.isExternalStorageAvailable()) imageDiskCache = new DiskLruImageCache( this, "diskcache", Consts.DISK_CACHE_SIZE, CompressFormat.PNG, Consts.COMPRESS_QUALITY); // Restore state if (savedInstanceState != null) { // The fragment manager will handle restoring them if we are being // restored from a saved state /* restore our call backs after config change */ isFromSavedState = true; /* restore our call backs after config change */ mFragmentListCallback = (TweeterListFragment) fm.findFragmentByTag(TweeterListFragment.class.getName()); /* on orientation change restore the data */ tweeters = (ArrayList<ArrayList<HashMap<String, String>>>) savedInstanceState.getSerializable(Consts.SAVED_INSTANCE_TWEETERS); restoredIndex = savedInstanceState.getInt(Consts.SAVED_INSTANCE_POSITION); isEditing = savedInstanceState.getBoolean(Consts.SAVED_INSTANCE_EDIT_MODE); } // If this is the first creation of the activity, add fragments to it else { /* * If our layout has a container for the modifytweeters fragment, * create and add it. btw if this exist, we know we are in two pane * mode */ mModiftyTweetersLayout = (ViewGroup) findViewById(R.id.activity_modifytweeters_container); if (mModiftyTweetersLayout != null) { printLog(Consts.TAG, "onCreate: adding modifytweeters Fragment to MainActivity"); // Add modify tweeters fragment to the activity's container layout ModifyTweetersFragment modifyTweetersFragment = new ModifyTweetersFragment(); FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace( mModiftyTweetersLayout.getId(), modifyTweetersFragment, ModifyTweetersFragment.class.getName()); // Commit the transaction fragmentTransaction.commit(); } // If our layout has a container for the tweetslist fragment, create // it and add it mTweetslistLayout = (ViewGroup) findViewById(R.id.activity_tweetslist_container); if (mTweetslistLayout != null) { printLog(Consts.TAG, "onCreate: adding tweetslist Fragment to MainActivity"); // Add tweeter list fragment to the activity's container layout TweeterListFragment tweeterListFragment = new TweeterListFragment(); FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace( mTweetslistLayout.getId(), tweeterListFragment, TweeterListFragment.class.getName()); mFragmentListCallback = (TweeterListObserver) tweeterListFragment; // Commit the transaction fragmentTransaction.commit(); } } }
@Override protected void onDestroy() { super.onDestroy(); ViewGroup root = (ViewGroup) getWindow().getDecorView().findViewById(android.R.id.content); cleanupView(findViewById(root.getId())); }
private static String constructManageChildrenErrorMessage( ViewGroup viewToManage, ViewGroupManager viewManager, @Nullable int[] indicesToRemove, @Nullable ViewAtIndex[] viewsToAdd, @Nullable int[] tagsToDelete) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("View tag:" + viewToManage.getId() + "\n"); stringBuilder.append(" children(" + viewManager.getChildCount(viewToManage) + "): [\n"); for (int index = 0; index < viewManager.getChildCount(viewToManage); index += 16) { for (int innerOffset = 0; ((index + innerOffset) < viewManager.getChildCount(viewToManage)) && innerOffset < 16; innerOffset++) { stringBuilder.append( viewManager.getChildAt(viewToManage, index + innerOffset).getId() + ","); } stringBuilder.append("\n"); } stringBuilder.append(" ],\n"); if (indicesToRemove != null) { stringBuilder.append(" indicesToRemove(" + indicesToRemove.length + "): [\n"); for (int index = 0; index < indicesToRemove.length; index += 16) { for (int innerOffset = 0; ((index + innerOffset) < indicesToRemove.length) && innerOffset < 16; innerOffset++) { stringBuilder.append(indicesToRemove[index + innerOffset] + ","); } stringBuilder.append("\n"); } stringBuilder.append(" ],\n"); } if (viewsToAdd != null) { stringBuilder.append(" viewsToAdd(" + viewsToAdd.length + "): [\n"); for (int index = 0; index < viewsToAdd.length; index += 16) { for (int innerOffset = 0; ((index + innerOffset) < viewsToAdd.length) && innerOffset < 16; innerOffset++) { stringBuilder.append( "[" + viewsToAdd[index + innerOffset].mIndex + "," + viewsToAdd[index + innerOffset].mTag + "],"); } stringBuilder.append("\n"); } stringBuilder.append(" ],\n"); } if (tagsToDelete != null) { stringBuilder.append(" tagsToDelete(" + tagsToDelete.length + "): [\n"); for (int index = 0; index < tagsToDelete.length; index += 16) { for (int innerOffset = 0; ((index + innerOffset) < tagsToDelete.length) && innerOffset < 16; innerOffset++) { stringBuilder.append(tagsToDelete[index + innerOffset] + ","); } stringBuilder.append("\n"); } stringBuilder.append(" ]\n"); } return stringBuilder.toString(); }