Проблема с фокусом запроса на библиотеке RowsFragment Android Leanback?

У меня проблема с фокусом RowsFragment Android Leanback. Я добавляю два разных типа адаптеров в один и тот же RowsFragment (прикрепленный код ниже), но при нажатии кнопки вверх (кнопка вверх DPad на пульте телевизора), чтобы сфокусироваться на строке выше, фокус переходит на верхнюю панель навигации.

//Мой пример кода -

MyRowFragment extends RowsFragment
    {
        private SparseArrayObjectAdapter myRowsAdapter;
        @Override
        public void onViewCreated (View view, Bundle savedInstanceState){
        super.onViewCreated(view, savedInstanceState);
        loadDataRows();
    }

    private void loadDataRows() {
// got some logic to download data 
        for (MyDataType data : MyDataTypeList) {
            ArrayObjectAdapter rowAdapter;

            //conditionToCheck is boolean to check some condition
            if (conditionToCheck) {
                rowAdapter =
                        new ArrayObjectAdapter(new MyCustomPresenter(value, value1));
            } else {
                rowAdapter =
                        new ArrayObjectAdapter(MyCustomPresentor1(value, value1));
            }

            rowAdapter.add(data);

            myRowsAdapter.set(rowKey, new ListRow(rowAdapter));

        }
    }
}

И мой файл макета:

<com.github.ksoichiro.android.observablescrollview.ObservableScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="none">

            <FrameLayout
                android:id="@+id/rowsContainer"
                android:layout_width="match_parent"
                android:layout_height="match_parent"/>
        </LinearLayout>
    </com.github.ksoichiro.android.observablescrollview.ObservableScrollView>

person Sumit T    schedule 19.03.2018    source источник


Ответы (1)


Добавьте возможность фокусировки в презентатор карты в MyCustomPresenter() и MyCustomPresenter1().

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent) {
    cardView.setFocusable(true);
    cardView.setFocusableInTouchMode(true);
}
person Sharath kumar    schedule 20.03.2018