Я использую проект по умолчанию для Android TV. Ниже приводится код для создания карт в моем BrowseFragment
:Как использовать setRowViewSelected из ListRowPresenter
private void loadRows() {
List<Movie> list = MovieList.setupMovies();
ListRowPresenter mListRowPresenter = new ListRowPresenter();
mRowsAdapter = new ArrayObjectAdapter(mListRowPresenter);
mListRowPresenter.setRowViewSelected(/*HOW TO GET VIEWHOLDER HERE?*/, false);
CardPresenter cardPresenter = new CardPresenter();
int i;
for (i = 0; i < NUM_ROWS; i++) {
if (i != 0) {
Collections.shuffle(list);
}
ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(cardPresenter);
for (int j = 0; j < NUM_COLS; j++) {
listRowAdapter.add(list.get(j % 5));
}
HeaderItem header = new HeaderItem(i, MovieList.MOVIE_CATEGORY[i]);
mRowsAdapter.add(new ListRow(header, listRowAdapter));
}
setAdapter(mRowsAdapter);
}
Я делаю это, как я не хочу, чтобы сделать первую карту из строки выбрана, когда я запускаю приложение. Он должен быть выбран только после нажатия кнопки пользователя на Dpad. Если я не могу сделать это таким образом, что мне делать, чтобы получить упомянутое поведение?
Вы можете запроситьфокусировку на другом элементе на экране - например, SearchOrb. Или настройте BackgroundManager, чтобы не всегда показывать изображение на фоне. –