我正在使用 VerticalGridFragment 来填充我的单个内容列表。我正在使用 ArrayObjectAdapter 作为适配器。我注意到的是最后一行数据排列不正确。例如:
1)请看上面的图片附件。
2)如果我的列表由 5 列组成,并且我在最后一行中只有 4 个内容要显示,那么leanback 将在第 2、3、4 和 5 个插槽中显示内容,第一个插槽将为空。
3) 在其他情况下,最后 5 个内容显示在 1,2,3,4 个插槽中,而不是在第 5 个插槽中填充最后一个内容,最后一个内容被放置在一个完整的新行的中心(第 3 个插槽) 。
当涉及到最后一行时,还有更多不一致的数据绑定。
你们中有人注意到leanback 库中的这种行为吗?或者有什么解决方案来解决这个问题?
这是我的代码的摘录:
private volatile ArrayObjectAdapter listAdapter;
private void setupUX() {
setSearchAffordanceColor(getResources().getColor(R.color.search_bg_color));
VerticalGridPresenter verticalGridPresenter = new VerticalGridPresenter();
verticalGridPresenter.setNumberOfColumns(NUM_COL);
setGridPresenter(verticalGridPresenter);
CardView cardView = new CardView();
queriesFired = new HashMap<>();
dataHandler = new Handler(getActivity().getMainLooper());
listAdapter = new ArrayObjectAdapter(cardView);
setAdapter(listAdapter);
new Handler().postDelayed(() -> startEntranceTransition(), 500);
}
private void populateData() {
....
listAdapter.add(uiContent);
....
}