leanback库中的VerticalGridFragment为最后一行错误地绑定数据

问题描述 投票:0回答:2

enter image description here我正在使用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);
    ....
}
android-tv leanback
2个回答
0
投票

发现问题 - 我正在为用于填充列表的图像卡设置setMaxLines(2)(这样我就可以在两行中显示电影标题)。这似乎弄乱了verticalGridFragment的布局。


0
投票

出现这种问题。如果你在kitkat设备上测试。棉花糖或以上的测试。这个问题不会发生。

© www.soinside.com 2019 - 2024. All rights reserved.