Android TV: RowsFragment element does not work in several cases

I am working on an Android TV application, and I had a strange problem with the element listener: everything works fine, but sometimes the click does not spread, most likely the listener is not installed.

I have subclasses RowsFragmentand I display my images with rows of 6 elements: this means that each grid line is actually a line in the adapter, even if visually the photos have the same month. Please take a look at the image to better understand.

enter image description here

: , , ( , ), "", . 5-, 6-,... , ( ) (.. 8-, 9-,..) 3 .

, , , , .

onCreate :
setOnItemViewClickedListener(new ItemViewClickedListener());
, . , : .

Presenter onCreateViewHolder , , , .

, -, .

, , , .

Leanback:

compile 'com.android.support:leanback-v17:25.3.1'

Nvidia Shield TV (Android 7.0), .

:, , , , , . , , - .

2:, , ListRowPresenterItemBridgeAdapter onBind, getOnItemViewClickedListener, null, . , RowsFragment, , , .

: ListRowPresenter .

private class GroupedListRowPresenter extends ListRowPresenter {
    GroupedListRowPresenter(int focusZoomFactor) {
        super(focusZoomFactor);
    }

    @Override
    protected void onBindRowViewHolder(RowPresenter.ViewHolder holder, Object item) {
        super.onBindRowViewHolder(holder, item);

        holder.setOnItemViewClickedListener(new BaseOnItemViewClickedListener() {
            @Override
            public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item, RowPresenter.ViewHolder
                    rowViewHolder, Object row) {
                Timber.d("item click from dummy listener: this should never happen!");
            }
        });
    }
}

, , , .

3: , Android Studio, , , - . : https://issuetracker.google.com/issues/62443122

, , , , .

+6
1

, 25.4.0 . , 25.4.0

maven {
    url "https://maven.google.com"
}

. . .

+4

Source: https://habr.com/ru/post/1017347/


All Articles