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

The following examples show how to use android.view.View#onFinishTemporaryDetach() . 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 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 Project: letv   File: ViewCompat.java    License: 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 Project: SimplifyReader   File: PLAAbsListView.java    License: 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 Project: Lay-s   File: PLAAbsListView.java    License: 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 Project: EverMemo   File: PLA_AbsListView.java    License: 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 Project: recent-images   File: TwoWayAbsListView.java    License: 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 Project: Klyph   File: AbsHListView.java    License: 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;
}