RecyclerПросмотреть предмет на Android TV - PullRequest
0 голосов
/ 13 декабря 2018

Я работаю над Android TV приложением, в котором у меня есть recycler view.Как я могу сфокусироваться на желаемой позиции?(Я уже пробовал scrollToPosition и smoothScroller, но это не работает).Заранее спасибо!

1 Ответ

0 голосов
/ 13 декабря 2018

Вы должны вызывать методы setFocusable(true) и setFocusableInTouchMode(true) в представлении элемента.

Пример:

@NonNull
@Override
public ProgrammeAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.rv_item_programme, parent, false);
    view.setFocusable(true);
    view.setFocusableInTouchMode(true);

    sDefaultBackgroundColor = ContextCompat.getColor(parent.getContext(), android.R.color.transparent);
    sSelectedBackgroundColor = Color.parseColor("#66ffe680");

    updateEPGTitleRowBackgroundColor(view, false);

    view.setOnFocusChangeListener(mOnFocusChangeListener);
    view.setOnKeyListener(mOnKeyListener);

    return new ViewHolder(view);
}

Редактировать:

Вы можете попробовать вызвать метод

mRecyclerView.getChildAt(0).requestFocus();

, чтобы сфокусировать определенный элемент.Просто замените 0 на нужный вам индекс предмета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...