public class

ListRow

extends Row

 java.lang.Object

androidx.leanback.widget.Row

↳androidx.leanback.widget.ListRow

Gradle dependencies

compile group: 'androidx.leanback', name: 'leanback', version: '1.2.0-alpha04'

  • groupId: androidx.leanback
  • artifactId: leanback
  • version: 1.2.0-alpha04

Artifact androidx.leanback:leanback:1.2.0-alpha04 it located at Google repository (https://maven.google.com/)

Androidx artifact mapping:

androidx.leanback:leanback com.android.support:leanback-v17

Androidx class mapping:

androidx.leanback.widget.ListRow android.support.v17.leanback.widget.ListRow

Overview

A Row composed of a optional HeaderItem, and an ObjectAdapter describing the items in the list.

Summary

Constructors
publicListRow(HeaderItem header, ObjectAdapter adapter)

publicListRow(long id, HeaderItem header, ObjectAdapter adapter)

publicListRow(ObjectAdapter adapter)

Methods
public final ObjectAdaptergetAdapter()

Returns the ObjectAdapter that represents a list of objects.

public java.lang.CharSequencegetContentDescription()

Returns content description for the ListRow.

public voidsetContentDescription(java.lang.CharSequence contentDescription)

Explicitly set content description for the ListRow, ListRow.getContentDescription() will ignore values from HeaderItem.

from RowgetHeaderItem, getId, isRenderedAsRowView, setHeaderItem, setId
from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public ListRow(HeaderItem header, ObjectAdapter adapter)

public ListRow(long id, HeaderItem header, ObjectAdapter adapter)

public ListRow(ObjectAdapter adapter)

Methods

public final ObjectAdapter getAdapter()

Returns the ObjectAdapter that represents a list of objects.

public java.lang.CharSequence getContentDescription()

Returns content description for the ListRow. By default it returns HeaderItem.getContentDescription() or HeaderItem.getName(), unless ListRow.setContentDescription(CharSequence) was explicitly called.

Returns:

Content description for the ListRow.

public void setContentDescription(java.lang.CharSequence contentDescription)

Explicitly set content description for the ListRow, ListRow.getContentDescription() will ignore values from HeaderItem.

Parameters:

contentDescription: Content description sets on the ListRow.

Source

/*
 * Copyright (C) 2014 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
package androidx.leanback.widget;

/**
 * A {@link Row} composed of a optional {@link HeaderItem}, and an {@link ObjectAdapter}
 * describing the items in the list.
 */
public class ListRow extends Row {
    private final ObjectAdapter mAdapter;
    private CharSequence mContentDescription;

    /**
     * Returns the {@link ObjectAdapter} that represents a list of objects.
     */
    public final ObjectAdapter getAdapter() {
        return mAdapter;
    }

    public ListRow(HeaderItem header, ObjectAdapter adapter) {
        super(header);
        mAdapter = adapter;
        verify();
    }

    public ListRow(long id, HeaderItem header, ObjectAdapter adapter) {
        super(id, header);
        mAdapter = adapter;
        verify();
    }

    public ListRow(ObjectAdapter adapter) {
        super();
        mAdapter = adapter;
        verify();
    }

    private void verify() {
        if (mAdapter == null) {
            throw new IllegalArgumentException("ObjectAdapter cannot be null");
        }
    }

    /**
     * Returns content description for the ListRow.  By default it returns
     * {@link HeaderItem#getContentDescription()} or {@link HeaderItem#getName()},
     * unless {@link #setContentDescription(CharSequence)} was explicitly called.
     *
     * @return Content description for the ListRow.
     */
    public CharSequence getContentDescription() {
        if (mContentDescription != null) {
            return mContentDescription;
        }
        final HeaderItem headerItem = getHeaderItem();
        if (headerItem != null) {
            CharSequence contentDescription = headerItem.getContentDescription();
            if (contentDescription != null) {
                return contentDescription;
            }
            return headerItem.getName();
        }
        return null;
    }

    /**
     * Explicitly set content description for the ListRow, {@link #getContentDescription()} will
     * ignore values from HeaderItem.
     *
     * @param contentDescription Content description sets on the ListRow.
     */
    public void setContentDescription(CharSequence contentDescription) {
        mContentDescription = contentDescription;
    }
}