Java Code Examples for android.view.View#onStartTemporaryDetach()
The following examples show how to use
android.view.View#onStartTemporaryDetach() .
These examples are extracted from open source projects.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: adt-leanback-support File: ViewCompat.java License: Apache License 2.0 | 6 votes |
@Override public void dispatchStartTemporaryDetach(View view) { if (!mTempDetachBound) { bindTempDetach(); } if (mDispatchStartTemporaryDetach != null) { try { mDispatchStartTemporaryDetach.invoke(view); } catch (Exception e) { Log.d(TAG, "Error calling dispatchStartTemporaryDetach", e); } } else { // Try this instead view.onStartTemporaryDetach(); } }
Example 2
Source Project: letv File: ViewCompat.java License: Apache License 2.0 | 5 votes |
public void dispatchStartTemporaryDetach(View view) { if (!this.mTempDetachBound) { bindTempDetach(); } if (this.mDispatchStartTemporaryDetach != null) { try { this.mDispatchStartTemporaryDetach.invoke(view, new Object[0]); return; } catch (Exception e) { Log.d("ViewCompat", "Error calling dispatchStartTemporaryDetach", e); return; } } view.onStartTemporaryDetach(); }
Example 3
Source Project: recent-images File: TwoWayAbsListView.java License: MIT License | 5 votes |
/** * Put a view into the ScapViews list. These views are unordered. * * @param scrap The view to add */ void addScrapView(View scrap) { TwoWayAbsListView.LayoutParams lp = (TwoWayAbsListView.LayoutParams) scrap.getLayoutParams(); if (lp == null) { return; } // Don't put header or footer views or views that should be ignored // into the scrap heap int viewType = lp.viewType; if (!shouldRecycleViewType(viewType)) { if (viewType != ITEM_VIEW_TYPE_HEADER_OR_FOOTER) { removeDetachedView(scrap, false); } return; } if (mViewTypeCount == 1) { scrap.onStartTemporaryDetach(); mCurrentScrap.add(scrap); } else { scrap.onStartTemporaryDetach(); mScrapViews[viewType].add(scrap); } if (mRecyclerListener != null) { mRecyclerListener.onMovedToScrapHeap(scrap); } }
Example 4
Source Project: AndroidStudyDemo File: ZrcAbsListView.java License: GNU General Public License v2.0 | 4 votes |
@TargetApi(Build.VERSION_CODES.JELLY_BEAN) void scrapActiveViews() { final View[] activeViews = mActiveViews; final boolean hasListener = mRecyclerListener != null; final boolean multipleScraps = mViewTypeCount > 1; ArrayList<View> scrapViews = mCurrentScrap; final int count = activeViews.length; for (int i = count - 1; i >= 0; i--) { final View victim = activeViews[i]; if (victim != null) { final LayoutParams lp = (LayoutParams) victim.getLayoutParams(); int whichScrap = lp.viewType; activeViews[i] = null; final boolean scrapHasTransientState = Build.VERSION.SDK_INT >= 16 ? victim .hasTransientState() : false; if (!shouldRecycleViewType(whichScrap) || scrapHasTransientState) { if (whichScrap != ITEM_VIEW_TYPE_HEADER_OR_FOOTER && scrapHasTransientState) { removeDetachedView(victim, false); } if (scrapHasTransientState) { if (mAdapter != null && mAdapterHasStableIds) { if (mTransientStateViewsById == null) { mTransientStateViewsById = new LongSparseArray<View>(); } long id = mAdapter.getItemId(mFirstActivePosition + i); mTransientStateViewsById.put(id, victim); } else { if (mTransientStateViews == null) { mTransientStateViews = new SparseArrayCompat<View>(); } mTransientStateViews.put(mFirstActivePosition + i, victim); } } continue; } if (multipleScraps) { scrapViews = mScrapViews[whichScrap]; } victim.onStartTemporaryDetach(); lp.scrappedFromPosition = mFirstActivePosition + i; scrapViews.add(victim); if (hasListener) { mRecyclerListener.onMovedToScrapHeap(victim); } } } pruneScrapViews(); }
Example 5
Source Project: recent-images File: TwoWayAbsListView.java License: MIT License | 4 votes |
/** * Move all views remaining in mActiveViews to mScrapViews. */ void scrapActiveViews() { final View[] activeViews = mActiveViews; final boolean hasListener = mRecyclerListener != null; final boolean multipleScraps = mViewTypeCount > 1; ArrayList<View> scrapViews = mCurrentScrap; final int count = activeViews.length; for (int i = count - 1; i >= 0; i--) { final View victim = activeViews[i]; if (victim != null) { int whichScrap = ((TwoWayAbsListView.LayoutParams) victim.getLayoutParams()).viewType; activeViews[i] = null; if (!shouldRecycleViewType(whichScrap)) { // Do not move views that should be ignored if (whichScrap != ITEM_VIEW_TYPE_HEADER_OR_FOOTER) { removeDetachedView(victim, false); } continue; } if (multipleScraps) { scrapViews = mScrapViews[whichScrap]; } victim.onStartTemporaryDetach(); scrapViews.add(victim); if (hasListener) { mRecyclerListener.onMovedToScrapHeap(victim); } if (ViewDebug.TRACE_RECYCLER) { ViewDebug.trace(victim, ViewDebug.RecyclerTraceType.MOVE_FROM_ACTIVE_TO_SCRAP_HEAP, mFirstActivePosition + i, -1); } } } pruneScrapViews(); }
Example 6
Source Project: Klyph File: AbsHListView.java License: MIT License | 4 votes |
/** * Put a view into the ScrapViews list. These views are unordered. * * @param scrap * The view to add */ @SuppressLint ( "NewApi" ) public void addScrapView( View scrap, int position ) { AbsHListView.LayoutParams lp = (AbsHListView.LayoutParams) scrap.getLayoutParams(); if ( lp == null ) { return; } lp.scrappedFromPosition = position; // Don't put header or footer views or views that should be ignored // into the scrap heap int viewType = lp.viewType; final boolean scrapHasTransientState = android.os.Build.VERSION.SDK_INT >= 16 ? scrap.hasTransientState() : false; if ( !shouldRecycleViewType( viewType ) || scrapHasTransientState ) { if ( viewType != ITEM_VIEW_TYPE_HEADER_OR_FOOTER || scrapHasTransientState ) { if ( mSkippedScrap == null ) { mSkippedScrap = new ArrayList<View>(); } mSkippedScrap.add( scrap ); } if ( scrapHasTransientState ) { if ( mTransientStateViews == null ) { mTransientStateViews = new SparseArrayCompat<View>(); } scrap.onStartTemporaryDetach(); mTransientStateViews.put( position, scrap ); } return; } scrap.onStartTemporaryDetach(); if ( mViewTypeCount == 1 ) { mCurrentScrap.add( scrap ); } else { mScrapViews[viewType].add( scrap ); } if ( android.os.Build.VERSION.SDK_INT >= 14 ) { scrap.setAccessibilityDelegate( null ); } if ( mRecyclerListener != null ) { mRecyclerListener.onMovedToScrapHeap( scrap ); } }
Example 7
Source Project: Klyph File: AbsHListView.java License: MIT License | 4 votes |
/** * Move all views remaining in mActiveViews to mScrapViews. */ @SuppressLint ( "NewApi" ) public void scrapActiveViews() { final View[] activeViews = mActiveViews; final boolean hasListener = mRecyclerListener != null; final boolean multipleScraps = mViewTypeCount > 1; ArrayList<View> scrapViews = mCurrentScrap; final int count = activeViews.length; for ( int i = count - 1; i >= 0; i-- ) { final View victim = activeViews[i]; if ( victim != null ) { final AbsHListView.LayoutParams lp = (AbsHListView.LayoutParams) victim.getLayoutParams(); int whichScrap = lp.viewType; activeViews[i] = null; final boolean scrapHasTransientState = android.os.Build.VERSION.SDK_INT >= 16 ? victim.hasTransientState() : false; if ( !shouldRecycleViewType( whichScrap ) || scrapHasTransientState ) { // Do not move views that should be ignored if ( whichScrap != ITEM_VIEW_TYPE_HEADER_OR_FOOTER || scrapHasTransientState ) { removeDetachedView( victim, false ); } if ( scrapHasTransientState ) { if ( mTransientStateViews == null ) { mTransientStateViews = new SparseArrayCompat<View>(); } mTransientStateViews.put( mFirstActivePosition + i, victim ); } continue; } if ( multipleScraps ) { scrapViews = mScrapViews[whichScrap]; } victim.onStartTemporaryDetach(); lp.scrappedFromPosition = mFirstActivePosition + i; scrapViews.add( victim ); if ( android.os.Build.VERSION.SDK_INT >= 14 ) { victim.setAccessibilityDelegate( null ); } if ( hasListener ) { mRecyclerListener.onMovedToScrapHeap( victim ); } } } pruneScrapViews(); }
Example 8
Source Project: ZrcListView File: ZrcAbsListView.java License: MIT License | 4 votes |
@TargetApi(Build.VERSION_CODES.JELLY_BEAN) void scrapActiveViews() { final View[] activeViews = mActiveViews; final boolean hasListener = mRecyclerListener != null; final boolean multipleScraps = mViewTypeCount > 1; ArrayList<View> scrapViews = mCurrentScrap; final int count = activeViews.length; for (int i = count - 1; i >= 0; i--) { final View victim = activeViews[i]; if (victim != null) { final LayoutParams lp = (LayoutParams) victim .getLayoutParams(); int whichScrap = lp.viewType; activeViews[i] = null; final boolean scrapHasTransientState = Build.VERSION.SDK_INT >= 16 ? victim .hasTransientState() : false; if (!shouldRecycleViewType(whichScrap) || scrapHasTransientState) { if (whichScrap != ITEM_VIEW_TYPE_HEADER_OR_FOOTER && scrapHasTransientState) { removeDetachedView(victim, false); } if (scrapHasTransientState) { if (mAdapter != null && mAdapterHasStableIds) { if (mTransientStateViewsById == null) { mTransientStateViewsById = new LongSparseArray<View>(); } long id = mAdapter .getItemId(mFirstActivePosition + i); mTransientStateViewsById.put(id, victim); } else { if (mTransientStateViews == null) { mTransientStateViews = new SparseArrayCompat<View>(); } mTransientStateViews.put(mFirstActivePosition + i, victim); } } continue; } if (multipleScraps) { scrapViews = mScrapViews[whichScrap]; } victim.onStartTemporaryDetach(); lp.scrappedFromPosition = mFirstActivePosition + i; scrapViews.add(victim); if (hasListener) { mRecyclerListener.onMovedToScrapHeap(victim); } } } pruneScrapViews(); }