Java Code Examples for android.view.View#onFinishTemporaryDetach()

The following examples show how to use android.view.View#onFinishTemporaryDetach() . 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 File: ViewCompat.java    From adt-leanback-support with Apache License 2.0 6 votes vote down vote up
@Override
public void dispatchFinishTemporaryDetach(View view) {
    if (!mTempDetachBound) {
        bindTempDetach();
    }
    if (mDispatchFinishTemporaryDetach != null) {
        try {
            mDispatchFinishTemporaryDetach.invoke(view);
        } catch (Exception e) {
            Log.d(TAG, "Error calling dispatchFinishTemporaryDetach", e);
        }
    } else {
        // Try this instead
        view.onFinishTemporaryDetach();
    }
}
 
Example 2
Source File: ViewCompat.java    From letv with Apache License 2.0 5 votes vote down vote up
public void dispatchFinishTemporaryDetach(View view) {
    if (!this.mTempDetachBound) {
        bindTempDetach();
    }
    if (this.mDispatchFinishTemporaryDetach != null) {
        try {
            this.mDispatchFinishTemporaryDetach.invoke(view, new Object[0]);
            return;
        } catch (Exception e) {
            Log.d("ViewCompat", "Error calling dispatchFinishTemporaryDetach", e);
            return;
        }
    }
    view.onFinishTemporaryDetach();
}
 
Example 3
Source File: PLAAbsListView.java    From SimplifyReader with Apache License 2.0 5 votes vote down vote up
private void dispatchFinishTemporaryDetach(View v) {
    if( v == null )
        return;

    v.onFinishTemporaryDetach();
    if( v instanceof ViewGroup){
        ViewGroup group = (ViewGroup) v;
        final int count = group.getChildCount();
        for (int i = 0; i < count; i++) {
            dispatchFinishTemporaryDetach(group.getChildAt(i));
        }			
    }
}
 
Example 4
Source File: PLAAbsListView.java    From Lay-s with MIT License 5 votes vote down vote up
private void dispatchFinishTemporaryDetach(View v) {
    if( v == null )
        return;

    v.onFinishTemporaryDetach();
    if( v instanceof ViewGroup){
        ViewGroup group = (ViewGroup) v;
        final int count = group.getChildCount();
        for (int i = 0; i < count; i++) {
            dispatchFinishTemporaryDetach(group.getChildAt(i));
        }			
    }
}
 
Example 5
Source File: PLA_AbsListView.java    From EverMemo with MIT License 5 votes vote down vote up
private void dispatchFinishTemporaryDetach(View v) {
	if( v == null )
		return;

	v.onFinishTemporaryDetach();
	if( v instanceof ViewGroup){
		ViewGroup group = (ViewGroup) v;
		final int count = group.getChildCount();
		for (int i = 0; i < count; i++) {
			dispatchFinishTemporaryDetach(group.getChildAt(i));
		}			
	}
}
 
Example 6
Source File: TwoWayAbsListView.java    From recent-images with MIT License 4 votes vote down vote up
/**
 * Get a view and have it show the data associated with the specified
 * position. This is called when we have already discovered that the view is
 * not available for reuse in the recycle bin. The only choices left are
 * converting an old view or making a new one.
 *
 * @param position The position to display
 * @param isScrap Array of at least 1 boolean, the first entry will become true if
 *                the returned view was taken from the scrap heap, false if otherwise.
 * 
 * @return A view displaying the data associated with the specified position
 */
View obtainView(int position, boolean[] isScrap) {
	isScrap[0] = false;
	View scrapView;

	scrapView = mRecycler.getScrapView(position);

	View child;
	if (scrapView != null) {
		if (ViewDebug.TRACE_RECYCLER) {
			ViewDebug.trace(scrapView, ViewDebug.RecyclerTraceType.RECYCLE_FROM_SCRAP_HEAP,
					position, -1);
		}

		child = mAdapter.getView(position, scrapView, this);

		if (ViewDebug.TRACE_RECYCLER) {
			ViewDebug.trace(child, ViewDebug.RecyclerTraceType.BIND_VIEW,
					position, getChildCount());
		}

		if (child != scrapView) {
			mRecycler.addScrapView(scrapView);
			if (mCacheColorHint != 0) {
				child.setDrawingCacheBackgroundColor(mCacheColorHint);
			}
			if (ViewDebug.TRACE_RECYCLER) {
				ViewDebug.trace(scrapView, ViewDebug.RecyclerTraceType.MOVE_TO_SCRAP_HEAP,
						position, -1);
			}
		} else {
			isScrap[0] = true;
			child.onFinishTemporaryDetach();
		}
	} else {
		child = mAdapter.getView(position, null, this);
		if (mCacheColorHint != 0) {
			child.setDrawingCacheBackgroundColor(mCacheColorHint);
		}
		if (ViewDebug.TRACE_RECYCLER) {
			ViewDebug.trace(child, ViewDebug.RecyclerTraceType.NEW_VIEW,
					position, getChildCount());
		}
	}

	return child;
}
 
Example 7
Source File: AbsHListView.java    From Klyph with MIT License 4 votes vote down vote up
/**
 * Get a view and have it show the data associated with the specified position. This is called when we have already discovered
 * that the view is not available for reuse in the recycle bin. The only choices left are converting an old view or making a new
 * one.
 * 
 * @param position
 *           The position to display
 * @param isScrap
 *           Array of at least 1 boolean, the first entry will become true if the returned view was taken from the scrap heap,
 *           false if otherwise.
 * 
 * @return A view displaying the data associated with the specified position
 */
@SuppressLint ( "NewApi" )
protected View obtainView( int position, boolean[] isScrap ) {
	isScrap[0] = false;
	View scrapView;

	scrapView = mRecycler.getTransientStateView( position );
	if ( scrapView != null ) {
		return scrapView;
	}

	scrapView = mRecycler.getScrapView( position );

	View child;
	if ( scrapView != null ) {
		child = mAdapter.getView( position, scrapView, this );

		if ( android.os.Build.VERSION.SDK_INT >= 16 ) {
			if ( child.getImportantForAccessibility() == IMPORTANT_FOR_ACCESSIBILITY_AUTO ) {
				child.setImportantForAccessibility( IMPORTANT_FOR_ACCESSIBILITY_YES );
			}
		}

		if ( child != scrapView ) {
			mRecycler.addScrapView( scrapView, position );
			if ( mCacheColorHint != 0 ) {
				child.setDrawingCacheBackgroundColor( mCacheColorHint );
			}
		} else {
			isScrap[0] = true;
			child.onFinishTemporaryDetach();
		}
	} else {
		child = mAdapter.getView( position, null, this );

		if ( android.os.Build.VERSION.SDK_INT >= 16 ) {
			if ( child.getImportantForAccessibility() == IMPORTANT_FOR_ACCESSIBILITY_AUTO ) {
				child.setImportantForAccessibility( IMPORTANT_FOR_ACCESSIBILITY_YES );
			}
		}

		if ( mCacheColorHint != 0 ) {
			child.setDrawingCacheBackgroundColor( mCacheColorHint );
		}
	}

	if ( mAdapterHasStableIds ) {
		final ViewGroup.LayoutParams vlp = child.getLayoutParams();
		LayoutParams lp;
		if ( vlp == null ) {
			lp = (LayoutParams) generateDefaultLayoutParams();
		} else if ( !checkLayoutParams( vlp ) ) {
			lp = (LayoutParams) generateLayoutParams( vlp );
		} else {
			lp = (LayoutParams) vlp;
		}
		lp.itemId = mAdapter.getItemId( position );
		child.setLayoutParams( lp );
	}

	if ( mAccessibilityManager.isEnabled() ) {
		if ( mAccessibilityDelegate == null ) {
			mAccessibilityDelegate = new ListItemAccessibilityDelegate();
		}

		// TODO: implement this ( hidden by google )
		// if (child.getAccessibilityDelegate() == null) {
		// child.setAccessibilityDelegate(mAccessibilityDelegate);
		// }
	}

	return child;
}