我正在使用Android TV的默認項目。下面是我的BrowseFragment
創建卡代碼:如何使用ListRowPresenter的setRowViewSelected
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不總是在背景上顯示圖像。 –