RecyclerViewAccessibilityDelegate.ItemDelegate

class RecyclerViewAccessibilityDelegate.ItemDelegate : AccessibilityDelegateCompat


The default implementation of accessibility delegate for the individual items of the RecyclerView.

If you are overriding RecyclerViewAccessibilityDelegate#getItemDelegate() but still want to keep some default behavior, you can create an instance of this class and delegate to the parent as necessary.

Summary

Public constructors

Creates an item delegate for the given RecyclerViewAccessibilityDelegate.

Public functions

Boolean

Dispatches an AccessibilityEvent to the host View first and then to its children for adding their text content to the event.

AccessibilityNodeProviderCompat?

Gets the provider for managing a virtual view hierarchy rooted at this View and reported to AccessibilityServices that explore the window content.

Unit

Initializes an AccessibilityEvent with information about the the host View which is the event source.

Unit

Initializes an AccessibilityNodeInfoCompat with information about the host view.

Unit

Gives a chance to the host View to populate the accessibility event with its text content.

Boolean
onRequestSendAccessibilityEvent(
    host: ViewGroup,
    child: View,
    event: AccessibilityEvent
)

Called when a child of the host View has requested sending an AccessibilityEvent and gives an opportunity to the parent (the host) to augment the event.

Boolean
performAccessibilityAction(host: View, action: Int, args: Bundle?)

Performs the specified accessibility action on the view.

Unit
sendAccessibilityEvent(host: View, eventType: Int)

Sends an accessibility event of the given type.

Unit

Sends an accessibility event.

Public constructors

ItemDelegate

Added in 1.0.0
ItemDelegate(recyclerViewDelegate: RecyclerViewAccessibilityDelegate)

Creates an item delegate for the given RecyclerViewAccessibilityDelegate.

Parameters
recyclerViewDelegate: RecyclerViewAccessibilityDelegate

The parent RecyclerView's accessibility delegate.

Public functions

dispatchPopulateAccessibilityEvent

fun dispatchPopulateAccessibilityEvent(host: View, event: AccessibilityEvent): Boolean

Dispatches an AccessibilityEvent to the host View first and then to its children for adding their text content to the event.

The default implementation behaves as View#dispatchPopulateAccessibilityEvent(AccessibilityEvent) for the case of no accessibility delegate been set.

Parameters
host: View

The View hosting the delegate.

event: AccessibilityEvent

The event.

Returns
Boolean

True if the event population was completed.

See also
dispatchPopulateAccessibilityEvent

View#dispatchPopulateAccessibilityEvent(AccessibilityEvent)

getAccessibilityNodeProvider

fun getAccessibilityNodeProvider(host: View): AccessibilityNodeProviderCompat?

Gets the provider for managing a virtual view hierarchy rooted at this View and reported to AccessibilityServices that explore the window content.

The default implementation behaves as ViewCompat#getAccessibilityNodeProvider(View) for the case of no accessibility delegate been set.

Returns
AccessibilityNodeProviderCompat?

The provider.

onInitializeAccessibilityEvent

fun onInitializeAccessibilityEvent(host: View, event: AccessibilityEvent): Unit

Initializes an AccessibilityEvent with information about the the host View which is the event source.

The default implementation behaves as ViewCompat#onInitalizeAccessibilityEvent(View v, AccessibilityEvent event) for the case of no accessibility delegate been set.

Parameters
host: View

The View hosting the delegate.

event: AccessibilityEvent

The event to initialize.

See also
onInitializeAccessibilityEvent

ViewCompat#onInitializeAccessibilityEvent(View, AccessibilityEvent)

onInitializeAccessibilityNodeInfo

fun onInitializeAccessibilityNodeInfo(
    host: View,
    info: AccessibilityNodeInfoCompat
): Unit

Initializes an AccessibilityNodeInfoCompat with information about the host view.

The default implementation behaves as ViewCompat#onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfoCompat) for the case of no accessibility delegate been set.

Parameters
host: View

The View hosting the delegate.

info: AccessibilityNodeInfoCompat

The instance to initialize.

See also
onInitializeAccessibilityNodeInfo

ViewCompat#onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfoCompat)

onPopulateAccessibilityEvent

fun onPopulateAccessibilityEvent(host: View, event: AccessibilityEvent): Unit

Gives a chance to the host View to populate the accessibility event with its text content.

The default implementation behaves as ViewCompat#onPopulateAccessibilityEvent(AccessibilityEvent) for the case of no accessibility delegate been set.

Parameters
host: View

The View hosting the delegate.

event: AccessibilityEvent

The accessibility event which to populate.

See also
onPopulateAccessibilityEvent

ViewCompat#onPopulateAccessibilityEvent(View, AccessibilityEvent)

onRequestSendAccessibilityEvent

fun onRequestSendAccessibilityEvent(
    host: ViewGroup,
    child: View,
    event: AccessibilityEvent
): Boolean

Called when a child of the host View has requested sending an AccessibilityEvent and gives an opportunity to the parent (the host) to augment the event.

The default implementation behaves as ViewGroupCompat#onRequestSendAccessibilityEvent(ViewGroup, View, AccessibilityEvent) for the case of no accessibility delegate been set.

Parameters
host: ViewGroup

The View hosting the delegate.

child: View

The child which requests sending the event.

event: AccessibilityEvent

The event to be sent.

Returns
Boolean

True if the event should be sent

See also
onRequestSendAccessibilityEvent

ViewGroupCompat#onRequestSendAccessibilityEvent(ViewGroup, View, AccessibilityEvent)

performAccessibilityAction

fun performAccessibilityAction(host: View, action: Int, args: Bundle?): Boolean

Performs the specified accessibility action on the view. For possible accessibility actions look at AccessibilityNodeInfoCompat.

The default implementation behaves as View#performAccessibilityAction(int, Bundle) for the case of no accessibility delegate been set.

Parameters
host: View

View on which to perform the action.

action: Int

The action to perform.

args: Bundle?

Optional action arguments.

Returns
Boolean

Whether the action was performed.

See also
performAccessibilityAction

View#performAccessibilityAction(int, Bundle)

sendAccessibilityEvent

fun sendAccessibilityEvent(host: View, eventType: Int): Unit

Sends an accessibility event of the given type. If accessibility is not enabled this method has no effect.

The default implementation behaves as View#sendAccessibilityEvent(int) for the case of no accessibility delegate been set.

Parameters
host: View

The View hosting the delegate.

eventType: Int

The type of the event to send.

See also
sendAccessibilityEvent

View#sendAccessibilityEvent(int)

sendAccessibilityEventUnchecked

fun sendAccessibilityEventUnchecked(host: View, event: AccessibilityEvent): Unit

Sends an accessibility event. This method behaves exactly as sendAccessibilityEvent but takes as an argument an empty AccessibilityEvent and does not perform a check whether accessibility is enabled.

The default implementation behaves as View#sendAccessibilityEventUnchecked(AccessibilityEvent) for the case of no accessibility delegate been set.

Parameters
host: View

The View hosting the delegate.

event: AccessibilityEvent

The event to send.

See also
sendAccessibilityEventUnchecked

View#sendAccessibilityEventUnchecked(AccessibilityEvent)